취약점 점검/모의해킹 수행시 근거가 되는 사이트
CWE(Common Weakness Enumeration)
CWE(Common Weakness Enumeration)는 미국토안보부(The U.S. Department of Homeland Security)에서 관리하고 있으며, 소프트웨어의 취약성을 사전식으로 분류하여 프로그래머가 쉽게 접근할 수 있도록 구성되어 있다. 수집된 취약점 항목을 뷰, 카테고리, 취약점, 복합요소를 기준으로 분류하여 살펴볼 수 있는 특징을 가지고 있으며, 취약점 항목에 대한 갱신은 현재에도 지속적으로 이루어지고 있다.
해당 취약점에 대한 정의/설명, 해당 취약성의 플랫폼(언어), 반향, 빈도및 예제 코드, 이를 완화시키기 위한 방법론을 기술하고 있다.
CWE Full Dictionary View: http://cwe.mitre.org/data/slices/2000.html
CWSS(Common Weakness Scoring System) : http://cwe.mitre.org/cwss/index.html#design
CVE(Common Vulnerabilities and Exposures )
http://cve.mitre.org
시간에 따라 감지된 보안 취약점또는 위험 노출을 정리해둔 목록이다.
선두적인 몇몇 보안 기술 조직에서 취약성의 표준화된 이름 목록과 기타 정보 보안 노출을 컴파일하고 유지보수하는 공동된 추진 과제로, CVE는 데이터베이스가 아닌 이름 사전이다.
CVE는 다음 두가지 상태로 구분할 수 있다.
entry -> CVE 식별번호가 포함되는것을 수락한 상태
candidate -> 리스트에 포함되기 위해 검토를 하고 있는 상태
1. 잠재적인 보안 위험이나 노출된 보안 위험을 발견한다. 이 보안 위험은 CVE 후보 상태로 등록한다.(CVE 웹페이지에 포스팅함으로써 CVE 에디터에 제안된다.)
2. CVE 에디터는 해당 사항이 entry에 포함이 될지 결정한다.
<참고> CVE Editorial Board에서 해당 프로세스를 감독한다.
CVE 명명 표준의 공식적인 목적은 취약성 데이터베이스 및 보안 도구에서 데이터를 보다 더 쉽게 검색, 액세스 및 공유할 수 있도록 하는 것이다.
ID 형식: CVE-해당연도-일련번호
ID ex: CVE-2013-0001
CWE가 일반적인 취약점 분류라면, CVE는 발견된 보안 취약점의 히스토리 기록이다.
CVE 리스트 다운받기:
CVE 리스트를 기준으로 XSS, DOS, SQL Injection 등등 년도별로 통계리스트를 보여주는 사이트:
http://www.cvedetails.com/vulnerabilities-by-types.php
CVE 리스트를 기준으로 장비를 개발한 곳에 대한 정보를 얻을 수 있다.
http://cve.mitre.org/compatible/country.html
CWE/SANS Top 25
SANS협회와 MITRE에서 매년 가장 위험한 프로그래밍 오류라는 부재를 가지고 가장 중요한 프로그래밍 오류를 명시하고 있다.
OWASP Top 10
CWE, CVE, SANS Top 25를 근거로 하여 웹 프로그래밍과 관련하여 가장 많이 발생하는 취약점을 정리한 것이다.
MITRE의 CVE를 기반으로 작업되었다.
2013 Top 10 List |
A1-Injection → |
A1-Injection |
Injection flaws, such as SQL, OS, and LDAP injection occur when untrusted data is sent to an interpreter as part of a command or query. The attacker’s hostile data can trick the interpreter into executing unintended commands or accessing data without proper authorization. |
A2-Broken Authentication and Session Management |
Application functions related to authentication and session management are often not implemented correctly, allowing attackers to compromise passwords, keys, or session tokens, or to exploit other implementation flaws to assume other users’ identities. |
A3-Cross-Site Scripting (XSS) |
XSS flaws occur whenever an application takes untrusted data and sends it to a web browser without proper validation or escaping. XSS allows attackers to execute scripts in the victim’s browser which can hijack user sessions, deface web sites, or redirect the user to malicious sites. |
A4-Insecure Direct Object References |
A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, or database key. Without an access control check or other protection, attackers can manipulate these references to access unauthorized data. |
A5-Security Misconfiguration |
Good security requires having a secure configuration defined and deployed for the application, frameworks, application server, web server, database server, and platform. Secure settings should be defined, implemented, and maintained, as defaults are often insecure. Additionally, software should be kept up to date. |
A6-Sensitive Data Exposure |
Many web applications do not properly protect sensitive data, such as credit cards, tax IDs, and authentication credentials. Attackers may steal or modify such weakly protected data to conduct credit card fraud, identity theft, or other crimes. Sensitive data deserves extra protection such as encryption at rest or in transit, as well as special precautions when exchanged with the browser. |
A7-Missing Function Level Access Control |
Most web applications verify function level access rights before making that functionality visible in the UI. However, applications need to perform the same access control checks on the server when each function is accessed. If requests are not verified, attackers will be able to forge requests in order to access functionality without proper authorization. |
A8-Cross-Site Request Forgery (CSRF) |
A CSRF attack forces a logged-on victim’s browser to send a forged HTTP request, including the victim’s session cookie and any other automatically included authentication information, to a vulnerable web application. This allows the attacker to force the victim’s browser to generate requests the vulnerable application thinks are legitimate requests from the victim. |
A9-Using Components with Known Vulnerabilities |
Components, such as libraries, frameworks, and other software modules, almost always run with full privileges. If a vulnerable component is exploited, such an attack can facilitate serious data loss or server takeover. Applications using components with known vulnerabilities may undermine application defenses and enable a range of possible attacks and impacts. |
A10-Unvalidated Redirects and Forwards |
Web applications frequently redirect and forward users to other pages and websites, and use untrusted data to determine the destination pages. Without proper validation, attackers can redirect victims to phishing or malware sites, or use forwards to access unauthorized pages. |
WASC V2.0
여러보안 회사가 컨소시엄으로 만들어서 프로젝트 진행
50가지 정도의 웹 취약점 목록을 제공
WHDB(웹해킹 데이터베이스 보유)
Projects -> Treat Classification
Download
The WASC Threat Classification Online
The below grid outlines the 'Threat Classification Enumeration View', the core WASC TC view. Additional views can be found at the Threat Classification Views section.
국정원 홈페이지 8대 취약점 국내에서 많이 사용되는 공개용보드(제로보드,테크노트) 취약점을 포함하여 총 8개의 취약점 점검 목록을 제시 국가사이버안전센터(NCSC)에서 국내 각 기관에서 홈페이지 해킹에 많이 악용되었던 보안취약점 8종을 선정하고 발표한 문서이며 8개 항목은 다음과 같다. |
안행부 소프트웨어 개발 보안 가이드
소프트웨어 개발시 우선 제거 대상 취약점 43개.
행정기관등이 안전한 소프트웨어를 개발하여 각종 사이버위협으로부터 예방ㆍ대응코자 함 SW 개발단계부터 보안약점을 제거하는 ‘SW 개발보안’ 의무제가 2012년 12월부터 시행되며 이에 따른 관련 가이드를 보급하오니 적극 활용하시기 바랍니다. ㅇ 가이드 내역 - (개발시 참고) 소프트웨어 개발보안 가이드 . (언어별 시큐어코딩 가이드) JAVA, C, Android-JAVA - (점검시 참고) 소프트웨어 보안약점 진단가이드 ※ SW 개발보안 반영한 “정보시스템 구축ㆍ운영 지침(행안부 고시)” 개정(6월) ㅇ 활용 : (개발보안) 행정ㆍ공공기관 정보시스템 개발자 및 유지보수자, 담당공무원, (진단) 진단원 및 감리원, 사업자 자체 SW보안약점 잔존여부 진단 등 붙임1. 소프트웨어 개발보안 가이드(3판) 붙임2. 소프트웨어 보안약점 진단가이드(1판) 붙임3. JAVA 시큐어 코딩 가이드(3판) 붙임4. C 시큐어 코딩 가이드(3판) 붙임5. Android-JAVA 시큐어 코딩가이드(2판) (참고) 2012년 SW 개발보안 및 진단원 양성과정 연간 교육일정 | |||
** 취약점진단 : Check list 기반
간단한 오류라도 발생하면 취약하다고 진단한다.
** 모의해킹: 시나리오 기반
모의 침투 -> 해커들이 사용하는 기법을 사용하여 실제 할 수 있는 행동으로 취약점을 이용하여
시스템에 침투하여 진단된 취약점이 어느 선까지 취약한지를 판단할 수 있게 한다.
OWASP Top 10 2013 과 안행부 시큐어코딩 가이드 47가지 규칙 비교
'IT Infra.' 카테고리의 다른 글
전사원이 개인정보보호법 교육을 꼭 받아야하나? (0) | 2016.12.02 |
---|---|
악성코드 분류 (0) | 2016.12.02 |
[CentOS] Apache(아파치) 설정파일 분석 - httpd.conf (0) | 2015.11.23 |
윈도우xp 시스템 복원 방법 (0) | 2015.11.06 |
[인증] ISMS, PIMS, PIPL 간략 비교 (0) | 2015.11.06 |