반응형
OWASP 2022 TOP 10
1. 인젝션 ( Injection )
2. 인증 취약점 ( Broken Authentication )
3. 민감한 데이터 노출 ( Sensitive Data Exposure )
4. XML 외부 엔티티 ( XXE )
5. 취약한 접근 제어 ( Broken Access Control )
6. 보안 구성 오류 ( Security Misconfigurations )
7. 크로스사이트 스크립팅 ( Cross-Site Scripting = XSS )
8. 안전하지 않은 역 직렬화 ( Insecure Deserialization )
9. 알려진 취약점과 구성 요소 사용 ( Using Components with Known vulnerabilities )
10. 불충분한 로깅 및 모니터링 ( Insufficient logging ans monotoring )
1. Injection
인젝션 취약점은 오류메시지에서 민감한 정보가 유출 등등 바람직하지 않고 위험한 결과를 초래 할 수 있습니다. 사용자로 부터 입력받은 값을 이용해 데이터 베이스 접근을 위한 쿼리( Query )를 만들며 SQL injection, LDAP injection 또는 파일 시스템 injection 에 한정 되지 않는다. 응용 프로그램 ( 양식 필드 또는 검색어 )에 사용자가 제공하는 데이터를 취하고 적절한 입력 유효성 검사 없이 서버나 데이터베이스를 통과 할 때 주입 결함이 발생 한다. 해커는 응용프로그램을 악용 의도로 문자열을 만들 수도 있다.
- 서버 측 입력 검증, 특수문자 필터링 및 유효성 검사
- 화이트리스트 조합 사용
2. 취약한 인증
인증 취약점은 2013년 부터 OWASP TOP 10에 취약점 목록에서 빠지지 않고 나오고 있습니다. 잘못 구성된 인증 시스템은 공격자가 합법적인 사용자로 가장할 수 있으으며 손상된 암호, 세션 토큰 등등 으로 이에따른 기술적 영향은 심각하다. 만약에 인증 취약점이 발생 한다면 다른 사람으로 로그인을 통해 해당 자원에 접속 할 수 있다.
대응방안
- 멀티 팩터 ( multi-factor ) 인증을 구현
- 기본 자격 증명 사용 금지
- 높은 수준의 암호 정책 구현
- 지연 로그인, 무작위 세션 ID , 세션 시간 초과 등등 으로 제어
- 실패한 로그인 시도 기록(log)
3. 민감한 데이터 노출
일반적으로 암호화 되어야 하는 정보( 금융 정보, 건강기록 등등 )들을 일반 텍스트로 볼 수 있다. 중간자 공격을 통하여 해커는 전송중에 데이터를 도용 및 탈취하여 악의적인 목적으로 사용할 수 있고 이러한 민감한 데이터 노출은 지난 몇 년 동안 점점 일반화가 되어가고 있다.
대응방안
- 암호화를 적용 하고 적절한 키 관리 및 표준 알고리즘 사용
- 불필요한 데이터에 민감한 데이터를 포함하는 응답을 피한다.
- 캐싱 비활성화
4. XML External Entities ( XXE ) XML 외부개체
XXE는 XML 문서에 외부 참조로 포함된 일부 페이로드가 처리되고 실행될 수 있는 응요프로그램에서 XML 파서를 할용 한다. 이 취약점은 정적 분석도구를 운영하는 회사들의 의해 반환된 통계를 바탕으로 리스트에 추가되었습니다. 지난 몇 년 동안 XML처리의 취약점이 꾸준히 증가하여 웹 어플리케이션에 더욱 심각한 위험이 되고 있습니다.
공격자가 XML 파일에 이러한 엔티티를 추가하거나 수정하여 아그이적인 소스를 가르킬 경우 디도스( DoS ) 공격이나 SSRF 공격을 일으킬 수 있습니다. 그들은 또한 내부 시스템을 스캔하고, 포트 스캔을 실행하고, 데이터 추출하는 등의 작업을 할 수 있습니다.
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [
<!ELEMENT foo ANY >
대응방안
- XML 문서 내의 적대적 데이터를 방지하기 위해 서버측 입력 유효성 검사, 삭제 검사 등을 구현
- XML 외부 엔티티 및 DTD 처리를 사용하지 않도록 설정
- Timeout을 설정
- JSON과 같은 덜 복잡한 형식을 사용하고, 중요한 데이터의 연속화를 방지하고, 모든 XML 프로세스 및 라이브러리 패치
5. 취약한 접근 통제
취약한 접근 제거는 수동 인증 및 권한 제어 기능이 망가진 곳에 공격자가 권한을 부여받아 사용자로서 허가를 우회하여 접속할 수 있도록 하는 접속 제어 시스템의 취약성을 말한다. 예를 들어, 애플리케이션은 사용자가 URL의 일부를 수정하는 것만으로 로그인한 계정을 변경할 수 있게 할 수 있다.
대응방안
공공 자원이 예외인 경우 기본적으로 다른 모든 자원을 거부하고 액세스 제어 실패 및 알림 관리자에 대한 로그를 유지
애플리케이션 전체에 걸쳐 교차 출처 리고스 공유( Cross-Origin Resource Sharing, CORS ) 사용을 최소화하는 등 액세스 제어 검사를 구현
6. 잘못된 보안 구성
이 범주는 응용 프로그램 데이터를 안전하게 유지하는 광범위한 제어장치의 부적절한 구현을 이야기한다. 보안 헤더를 잘못 구성하고, 민감한 정보를 누출하는 장황한 오류 메시지를 무시하며, 패치 또는 업그레이드 시스템을 무시하며, 기본 구성을 사용하는 것은 모두 이 취약점을 야기할 수 있다. 동적 어플리케이션 보안 테스트 (DAST )등등 을 이용하여 잘못된 구성을 감지 할 수 있다.
대응방안
- 시스템 강화 프로세스를 포함하여 안전한 설치 프로세스 구현, 불필요하고 사용되지 않는 기능 또는 프레임워크 제거
- 제로 트러스트 모델 구현하고 나머지는 차단 하면서 원하는 동작만 허용하는 "segmented application architecture(세그먼트 애플리케이션 아키텍처)"를 활용, 컨테이너화 또는 ACL을 통해 구성요소 또는 이용자 간의 안전한 분리를 제공하는데 도움이 됨
- 사용 권한 검토 및 업데이트
※ 제로 트러스트란?
'세상의 믿을 사람은 하나도 없다'라는 태도를 가지며 외부 내부를 막론하고 적절한 인증 절차 없이는 그 누구도 신뢰해서는 안되며 시스템에 접속하고자 하는 모든 것에 접속권한을 부여하고 모든 신원에 확인 과정을 거친다는 뜻이다.
개념
- 내부에서 외부로 설계 : 보호가 필요한 자산 및 데이터 식별 부터
- 접속하기 위해 필요한 신원 및 권한
- 모든 트래픽 검사 및 로깅
: 사용자가 누구인지 파악해야 함(IAM = Identity and Access Management, 암호화 등등)
: 적합한 아키텍처 선택 ( 마이크로세그먼테이션, SDP, 제로 트러스트 프록시 )
7. 크로스 사이트 스크립팅
공격자는 기본적으로 다른 사람의 웹 응요 프로그램의 페이지 출력에 스크립트를 주입하며 브라우저는 그것이 페이지의 일부라고 믿게 되고 스크립트를 실행하게 되는 것이다.
EX) 공격자가 피해자에게 악성 링크가 있는 이메일을 보내서 신뢰할 수 있는 출처에서 온 것처럼 보이게 할 수 있다. 링크를 클릭하면 코드는 피해자의 웹 브라우저에서 실행되며 세션, 쿠기, 사용자 자격 증명을 훔치거나 악성코드를 전달하는 데 사용 될 수 있음
대응 방안
- 상황에 맞는 인코딩을 적용
- 콘텐트 보안정책 (CSP = Content Security Policy)를 경감 대책 활성화
- 엔티티 적용
8. 안전하지 않은 역직렬화
직렬화 개념은 응용 프로그램 코드에서 객체를 가져다가 바이트 스트림으로 변환하거나 디스크에 저장하는 등의 다른 용도로 사용 할 수 있는 형식으로 변환하는 것이다. 탈선화는 그 반대인 직렬화된 데이터를 애플리케이션에서 사용할 수 있는 객체로 다시 변환하는 것을 말한다.
이 공격은 이러한 데이터 객체가 다른 쪽 끝에서 탈선화되면 분산된 서비스 거부(DoS) 공격이나 원격 코드 실행과 같은 심각한 결과를 초래할 수 있도록 변조 되는 것을 말함
대응방안
- 신뢰할 수 없는 출처에서 직렬화 된 객체를 허용 금지
- 무결성 검사 구현, 제약 조건 적용
- 모니터링하면서 예외와 오류를 기록
9. 알려진취약점이 있는 구성요소 사용
라이브러리 등의 구성요소를 사용하여 먼저 그 합법성을 검증하지 않거나 해당 구성요소의 업데이트된 버전을 사용하지 않고 특정 기능을 구현하는 광범위한 문제를 언급한다.
대응방안
- 클라이언트 및 서버 측 구성 요소의 종속성과 함께 버전 업데이트 및 패치, 모니터링
10. 불충분한 로깅 및 모니터링
데이터 침해를 감지하기 위해 조직은 웹 응용 프로그램의 맥락에서 관심 있는 이벤트를 기록해야 합니다.
로깅은 동일한 IP에서 반복적으로 실패한 로그인 시도와 같은 웹 으용프로그램에서 이벤트 또는 보안 발생을 기록하는 것을 말합니다. 모니터링은 이러한 로그를 지속적으로 주시하여 적절한 조치를 위해 사고 대응팀으로 이관하는 것을 말합니다.
대응방안
- 의심스러운 활동 ( EX: 로그인 실패, 액세스 제어 실패, 입력 유효성 검사 실패 등등 )을 기록하여 중앙 집중식 로그 관리 솔루션에 입력될 수 있는 형식
- 변조 또는 삭제를 방지하기 위해 중요한 거래에 대한 세부 감사 추적 유지 사고 대응 및 복구 계획 수립
반응형
'보안기사' 카테고리의 다른 글
[보안기사] 정리3 (0) | 2022.09.01 |
---|---|
[보안기사] 정리2 (0) | 2022.08.31 |
댓글