[2013 CodeEngn Conference 09] 제갈공맹 - MS 원데이 취약점 분석 방법론

  • 310 views
Uploaded on

2013 CodeEngn Conference 09 …

2013 CodeEngn Conference 09

MS 윈도우의 원데이 패치에 대해서 분석 및 접근 방법을 살펴본다. 또한, 최근에 나온 원데이 취약점 패치 분석을 진행하며 필요한 팁에 대해서 알아보고자 한다.

http://codeengn.com/conference/09
http://codeengn.com/conference/archive

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
310
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MS One-day 취약점 분석 방법론 제갈공맹 d7795gmail@gmail.com www.CodeEngn.com 2013 CodeEngn Conference 09
  • 2. 목차 u Zero-day & One-Day ? u Microsoft Patch & CVE ? u 분석 하기 전 사전 정보 수집 u MS11-002 분석 u 시연
  • 3. What is Zero-Day & One-Day? u Zero-Day ? u u 컴퓨터 소프트웨어의 취약점을 공격하는 기술적 위협으로, 해당 취약점에 대한 패치가 나오지 않은 시점에서 이루어지는 공격 One-Day ? u 공격자가 이미 벤더 측에 제보를 하여 패치가 되었으나 Exploit 이 없 는 상태를 의미
  • 4. Microsoft Patch u Microsoft 는 매달 두 번째 화요일 u 보안 패치 공지 화면
  • 5. Microsoft Patches name 마이크로소프트 MS 해당 연도 -13 패치 나온 갯수 -088
  • 6. CVE란? u Common Vulnerabilities and Exposures u CVE 는 잘 알려진 보안취약점 및 노출된 정보를 모아둔 곳 u http://cve.mitre.org
  • 7. CVE names Common Vulnerabilities and Exposures CVE 해당 연도 -2013 패치 나온 갯수 -088
  • 8. 취약점 기본 정보를 얻는 방법 u http://technet.microsoft.com/ko-kr/security/bulletin
  • 9. 취약점 기본 정보를 얻는 방법
  • 10. 취약점 기본 정보를 얻는 방법
  • 11. 취약점 기본 정보를 얻는 방법
  • 12. 취약점 기본 정보를 얻는 방법
  • 13. 취약점 기본 정보를 얻는 방법
  • 14. 패치 되기전 최신 파일 구하기
  • 15. Get File
  • 16. 보안 패치에서 dll 파일 추출 하기 u [패치 파일명] /extract:[path] 설치 프로그램을 설치하지 않고 파일을 추출 하는 명령어 http://support.microsoft.com/kb/262841
  • 17. 보안 패치에서 dll 파일 추출 하기 u 오피스 보안 패치 파일 /C /T:[보안패치 절대 경로] u msix [파일명].msp /ext /out [경로] u mst 및 cab 파일 추출 u cab 파일 안에 해당 패치 파일 추출 u msix 다운로드 경로 u http://www.windowswiki.info/wp-content/uploads/2009/07/msix.zip
  • 18. Get more u GDR u u 보안에 큰 영향을 주는 부분이 있을때 제공 LDR or QFE u 급하게 보안 패치를 내야 할 때 제공
  • 19. Get more u 분석 하기 이전에 알아 두면 좋은것들 u 윈도우 오픈 소스 프로젝트 u u 인터넷 브라우저 오픈 소스 u u http://www-archive.Mozilla.org/projects/firefox/index.html 오피스 오픈소스 u u http://www.reactos.org/ko http://www.openoffice.org/download/source/ 사전에 윈도우, 브라우저, 오피스 오픈 소스를 이용하여 어 떤 방식 프로그래밍 되어 있는지 확인
  • 20. 알아볼 취약점 Buffer OverFlow
  • 21. 취약한 함수들 strcpy strncpy strcat strncat sprint vsprintf gets strlen
  • 22. strsafe.h StringCbCopy StringCbCopyEx StringCbCopyN StringCbCopyNEx StringCbCat StringCbCatEx StringCbCatN StringCbCatNEx StringCbPrintf StringCbPrintfEx StringCbVPrintf StringCbVPrintfEx StringCbGets StringCbGetsEx StringCchLength StringCbLength
  • 23. 알아볼 취약점 Use After Free
  • 24. 해당 취약점 파일 찾기?
  • 25. 보안패치 파일 추출 후
  • 26. 해당 취약점 파일 찾기? HOW????
  • 27. 해당 취약점 파일 찾기? u 취약점이 존재 하나 어떠한 취약점이 있는지 알 수 없음 u 또한 어떤 파일에서 취약점이 발생 하는지도 역시 알 수 없음 u 그럼??? 어떻게 해야 할까? u 공개된 취약점을 분석한 뒤 어떠한 방식으로 취약점을 패치하 는지 확인 u 그럼 필요한 툴은???
  • 28. Tool u Diffing Tool u u TurboDiff u PatchDiff u u Darungrim BinDiff IDA
  • 29. Diffing 이란? • Diffing은 소스 파일과 타겟 파일 간에 변경 된 점을 보여주기 위 해서 사용 하는 기법 • 대부분의 binary Diffing의 경우 IDA의 데이터 베이스를 기반으로 분석
  • 30. Diffing을 하는 이유? u 현재 어떠한 부분에 대해서 오류가 발생 하였는지 알지 못함 u 많은 시간 소모 u 변경 된 부분을 찾아야지만 분석 가능
  • 31. Diffing의 대상은?? u 패치 파일 과 이전 패치 간의 파일 Diffing u 새로운 운영체제와 이전 운영체제 간의 파일 Diffing
  • 32. MS11-002
  • 33. 분석 하기전 사전 조사 u MS11-002
  • 34. 사전 조사로 얻은 정보 u 두가지 취약점 u u u ADO 취약점 DSN 란? u u DSN 취약점 Datebase Source Nmae 으로DB를 사용하는 어플리케이션에서 DB를 불러 올때 해당하는 DB를 연결시키기 위해 구분 짓는 이름 SQLConnectW function in an ODBC API (odbc32.dll)
  • 35. BinDiff를 이용하여 Diffing
  • 36. Diffing 결과로 얻은 정보 u 총 7 가지의 새로운 함수를 확인 u ValidateNullTerminatedStringW 유효성을 검사 u StringCchLengthA 길이를 체크 하는 함수
  • 37. 시연
  • 38. 감사합니다 www.CodeEngn.com 2013 CodeEngn Conference 09