http://www.tomshardware.com/news/imperva-rockyou-most-common-passwords,9486.html?xtmc=imperva_application_defense_center&xtcr=1

Imperva Application Defense Center (ADC) 회사가 설정된 패스워드를 분석한 결과입니다.

통계적으로 봤을때, 사용자들이 제일 많이 사용하고 있는 패스워드는 "123456" 이고, 상위 10위에서 연속적인 숫자로만 이루어진 것이 50%나 됩니다.

상위 20위의 패스워드를 살펴보면, 모두 추측이 가능하거나 외국에서 많이 사용되고 있는 이름으로 이루어진 것을 확인할 수 있습니다.




패스워드 길이는 6~8자가 대부분 차지하고 있으며, 대부분 소.대문자로만 이루어져 있다고 합니다.



국내 금융.증권 및 포탈 사이트에서는 가입할 당시에 숫자.문자 혼합(특수문자까지 포함) 하는 회원 가입 프로세스로 이루어진 곳이 많지만, 대부분의 기업에서는 아직도 패스워드 강화 프로세스가 이루어지지 않은 것이 현실입니다.

일반 사용자들의 패스워드 설정은 아래와 같이 권고하고 있으며, 관리자급 이상은 "최소 8자 이상의 길이", "2~3개 이상의 특수문자 포함"을 권고하고 있습니다.

● 알파벳 대소문자를 혼용하여 사용
● 숫자 및 특수문자 포함
● 최소 6자 이상
● 사전에 등록된 단어, 혹은 속어, 사투리 등의 사용 금지
● 개인 정보나 관련된 정보를 포함 금지 (예. 이름, 회사, 제품 이름)
● 패스워드는 온라인 상에 별도 저장 금지
● ID와 패스워드의 동일한 문자가 4글자 이상 설정 금지

IT 2010 트렌드

보안 소식/주간 이슈 2010. 1. 27. 11:22 Posted by 알 수 없는 사용자

마이크로소프트사 에서 2010년 트렌드에 대해 정리하였습니다.

클라우드 컴퓨팅, 그린IT, 가상화 등 의 이슈들이 정리되어 있습니다.

관련주소 : http://www.msittrend.com

Microsoft Internet Explorer "Aurora" Memory Corruption

취약점 보안 권고안

By. bdr@a3sc.co.kr
(A.K.A Dear.Tom)


Ⅰ. 취약점 개요

취약점

Microsoft Internet Explorer "Aurora" Memory Corruption

최초 발표일

2010 1

현재상태(패치여부)

unpached (1월 23일 패치 예정)

구성요소

Windows Internet Explorer

보안 영향

원격 코드 실행

위험도

높음



1. 요약
“Aurora”는 MS Windows Internet Explorer에서 비 정상적인 메모리 참조로 인하여 원격코드가 실행되는 취약점으로 2010년 1월 초 구글, 야후 등의 해외 기업의 공격 사례에 이용되었다는 사실을 통해 알려지기 시작했습니다. 해당 취약점의 공격코드는 현재 인터넷 검색으로 쉽게 획득할 수 있고, 공개되어 있는 취약점 공격 툴로 공격이 가능하므로 취약한 버전을 이용하는 분들에 대한 주의가 요구됩니다. 단, MS의 공식 패치는 2010년 1월 23일 공개 될 예정입니다.

2. 대상 시스템
다음은 MS에서 해당 취약점에 취약한 버전을 공개한 목록입니다.

Microsoft Windows 2000 Service Pack 4
Windows XP Service Pack 2 and Windows XP Service Pack 3
Windows XP Professional x64 Edition Service Pack 2
Windows Server 2003 Service Pack 2
Windows Server 2003 x64 Edition Service Pack 2
Windows Server 2003 with SP2 for Itanium-based Systems
Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2
Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2
Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2
Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service pack 2
Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2
Windows 7
Windows 7 for x64-based Systems
Windows Server 2008 R2 for x64-based Systems
Windows Server 2008 R2 for Itanium-based Systems
Internet Explorer 6 Service Pack 1 on Microsoft Windows 2000 Service Pack 4
Internet Explorer 6 for Windows XP Service Pack 2, Windows XP Service Pack 3, and Windows XP Professional x64 Edition Service Pack 2
Internet Explorer 6 for Windows Server 2003 Service Pack 2, Windows Server 2003 with SP2 for Itanium-based Systems, and Windows Server 2003 x64 Edition Service Pack 2
Internet Explorer 7 for Windows XP Service Pack 2 and Windows XP Service Pack 3, and Windows XP Professional x64 Edition Service Pack 2
Internet Explorer 7 for Windows Server 2003 Service Pack 2, Windows Server 2003 with SP2 for Itanium-based Systems, and Windows Server 2003 x64 Edition Service Pack 2
Internet Explorer 7 in Windows Vista, Windows Vista Service Pack 1, Windows Vista Service Pack 2, Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2
Internet Explorer 7 in Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2
Internet Explorer 7 in Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2
Internet Explorer 7 in Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2
Internet Explorer 8 for Windows XP Service Pack 2, Windows XP Service Pack 3, and Windows XP Professional x64 Edition Service Pack 2
Internet Explorer 8 for Windows Server 2003 Service Pack 2, and Windows Server 2003 x64 Edition Service Pack 2
Internet Explorer 8 in Windows Vista, Windows Vista Service Pack 1, Windows Vista Service Pack 2, Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2
Internet Explorer 8 in Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2
Internet Explorer 8 in Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2
Internet Explorer 8 in Windows 7 for 32-bit Systems
Internet Explorer 8 in Windows 7 for x64-based Systems
Internet Explorer 8 in Windows Server 2008 R2 for x64-based Systems
Internet Explorer 8 in Windows Server 2008 R2 for Itanium-based Systems



Ⅱ. 취약점 세부 분석

1. 취약점 내용
이 취약점은 mshtml.dll 에서 CElement::GetDocPtr 메서드(method)가 잘못된 메모리를 참조하여 발생하며, 그 공격원리는 다음과 같습니다.

해당 공격코드는 "document.CreateEventObject()"를 이용하여, 이미지를 불러오거나 링크를 클릭하여 이벤트가 활성화 된 객체를 복사합니다. 그리고 "document.getElementById()"를 사용하여 활성화된 이벤트 공간을 참조한 다음, 어떤 임의의 문자열을 지정하여 그 개체를 파괴합니다. 이렇게 복사된 이벤트 객체는 유효하지는 않지만, 여전히 해당 메모리 공간으로 접근 할 수 있다는 점을 이용한 취약점입니다.

2. 공격 분석
다음은 “Aurora” 공격코드 중 쉘코드를 실행시키기 위한 Heap-spray, 이벤트 객체 복사 및 삭제 등을 하는 코드 부분입니다.

 

다음은 공격코드에서 nop slide에 해당하는 값을 임시로 수정하여 프로그램 흐름을 확인하는 화면입니다. 메모리는 nop slide(“BBBBBBBB”)로 가득 채워지고, 이로인해 EIP는 잘못된 메모리 주소 “BBBBBBBB”를 참조하고 있음을 확인 할 수 있습니다.


다음은 mshtml.dll 에서 비정상적인 메모리 주소로 접근하는 코드 영역(GetDocPtr())을 확인하는 화면입니다.


다음은 해당 취약점을 이용하여 타인의 PC를 장악하는 화면입니다.


3. 위험 분석

MS의 공식 패치가 이루어지지 않은 현재, 해당 취약점의 공격코드는 인터넷 검색으로 쉽게 획득할 수 있고, 공개되어 있는 취약점 공격 툴로 공격이 가능하므로 취약한 버전을 이용하는 사용자 대부분이 위험에 노출되어 있어, 적절한 대책을 적용하지 않은 사용자는 공격자에게 장악당할 수 있습니다.


Ⅲ. 해결 방안

1. DEP 활성화 패치 설치
  URL) http://download.microsoft.com/download/C/A/D/CAD9DFDF-AF35-4712-B876-B2EEA708495C/MicrosoftFixit50285.msi
2. IE 8로 업데이트(DEP 활성화 여부 확인)
3. IE의 보안 수준 강화

  설정) IE 도구 메뉴 -> 인터넷 옵션 -> 보안 탭 -> 사용자 지정 수준 -> “Active Scripting” 항목 ‘확인’ 혹은 ‘사용안함’으로 변경
  주의) 일부 사이트가 올바르게 작동하지 않을 수 있음.
4. 공식 패치 적용(1월 23일 발표 예정)
  URL) http://blogs.technet.com/koalra/archive/2010/01/21/s2010-1.aspx


Ⅳ. 참고자료

[1] Understanding DEP as a mitigation technology part 1 & 2
  URL) http://blogs.technet.com/srd/archive/2009/06/12/understanding-dep-as-a-mitigation-technology-part-1.aspx
  URL) http://blogs.technet.com/srd/archive/2009/06/12/understanding-dep-as-a-mitigation-technology-part-2.aspx
[2] 'Aurora' Exploit Retooled To Bypass Internet Explorer's DEP Security
  URL) http://www.darkreading.com/security/vulnerabilities/showArticle.jhtml?articleID=222301436&cid=RSSfeed_DR_News
[3] Operation “Aurora” Hit Google, Others
  URL) http://siblog.mcafee.com/cto/operation-%e2%80%9caurora%e2%80%9d-hit-google-others/
[4] Microsoft Security Advisory (979352)
  URL) http://www.microsoft.com/technet/security/advisory/979352.mspx
[5] Aurora Exploit 최초 공개
  URL) http://wepawet.iseclab.org/view.php?hash=1aea206aa64ebeabb07237f1e2230d0f&type=js
[6] Microsoft New Internet Explorer 0-day Vulnerability and Targeted Attacks
  URL) http://securitylabs.websense.com/content/Blogs/3530.aspx
[7] The Problem With innerHTML
  URL) http://www.julienlecomte.net/blog/2007/12/38/
 

※ 현재 ㈜에이쓰리시큐리티에서 테스트 및 분석 중에 있으며, 이 문서는 계속 업데이트될 것입니다. 본 문서는 보안취약점으로 인한 피해를 최소화하는 데 도움이 되고자 작성되었으나, 본 문서에 포함된 대응방안의 유효성이나 기타 예상치 못한 시스템의 오작동 발생에 대하여서는 ㈜에이쓰리시큐리티에서는 일체의 책임을 지지 아니합니다.

Nmap 5.20 Released

보안 소식/주간 이슈 2010. 1. 21. 16:26 Posted by TEAMCR@K

Nmap 5.20이 1월 20일자로 릴리즈 되었습니다.

31개의 NSE(Nmap Script Engine), OS version DB 정보 등이 강화되었습니다.

http://seclists.org/nmap-hackers/2010/0

커널 디버깅하기

(무선)네트워크 2010. 1. 21. 12:07 Posted by 알 수 없는 사용자


요즘은 커널 디버깅을 하기위해 WinDBG를 많이 사용합니다.
그래서 커널 디버깅을 하기 위해 기본적으로 정리해야 할 개념들에 대해 정리해 보았습니다.

1. 디버깅 유형

  가. 라이브 디버깅

라이브 디버깅은 대상을 실행시켜 놓고 이를 Tracing하며 분석 하는 디버깅 기법입니다.
대상을 Tracing하며 분석하기 때문에 대상에 대한 이해가 보다 쉬우며, 직관적으로 다가갈 수 있습니다.

다음은 WinDBG를 이용하여 ndis.sys를 라이브디버깅하는 그림입니다.



  나. 덤프 디버깅
덤프디버깅은 시스템이 Crash 된 후 어느 지점에서 어떤 이유로 인해 시스템이 Crash됐는지 알아보고 이를 수정하는 디버깅 기법입니다. 보통 커널모드에서는 조금의 실수도 시스템 Crash로 이어지기 때문에 많이 쓰이는 디버깅 방법입니다.

다음 화면은 시스템 Crash로 인해 덤프디버깅 하는 그림입니다.


2. 심볼(Symbol)
  가. 심볼 개념
심볼파일은 어플리케이션, 혹은 드라이버 등을 개발하고 이를 링킹하는 작업이 이루어질 때, 생성되는 파일입니다. 심볼파일은 바이너리가 실행될때 필요하진 않지만, 디버깅 과정에서 아주 유용하게 사용되는 다양한 정보를 가지고 있습니다.

다음은 심볼이 포함하고 있는 정보입니다.

 전역변수
 지역변수
 함수이름
 EntryPoint
 FPO Data
 Source Linenumber

이러한 정보들은 바이너리를 디버깅 할 때 정보를 제공해 줌 으로써 디버깅작업을 좀 더 효율적으로 진행하게 도와줍니다.

  나. 심볼 유무에 따른 차이
NIDS는 심볼이 있고, vmmouse는 심볼이 없습니다.

NDIS를 디스어셈블링 한 결과입니다.

vmmouse를 디스어셈블링 한 결과입니다.

심볼이 있는경우는 심볼의 정보를 참조해서 함수라던지 이름이 잘 나오지만 심볼이 없는경우 offset값으로 판단을 하게 됩니다.

이렇게 심볼이 있는 바이너리를 디버깅 할 때와 심볼이 없는 바이너리를 디버깅 할 때 획득 할 수 있는 정보의 양이 달라지는 것을 확인할 수 있습니다. 이 말은 디버깅을 하려는 바이너리와 일치하는 심볼 파일이 있는지 확인을 해야 한다는 것을 의미합니다.
이런 이유로 라이브 디버깅과 덤프 디버깅 에 대하여 디버깅을 할 경우 심볼이 필요합니다.

3. 명령어

 가. BP VS BU
  (1)BP명령어
bp명령어는 직접적인 주소에 브레이크 포인트를 설치합니다. 그러므로 로딩되지 않은 모듈에는 브레이크 포인트를 설치하지 못합니다. 즉 로딩된 모듈에 브레이크포인트를 설치하고 디버깅 할 때에 주로 사용합니다. 그리고 Debuggee가 다시 시작될 경우 해당 주소에는 모듈의 내용이 맵핑되어 있지 않기 때문에 설치됐던 브레이크 포인트는 전부 사라지게 됩니다.

  (2)BU명령어
bp와는 달리 로딩되지 않은 모듈에 브레이크 포인트를 설치 할 수 있습니다. 이를 Unresolved BreakPoint 라고 부릅니다. 그리고 Debuggee가 다시 시작 될 경우 설치됐던 브레이크 포인트는 그대로 남아있게 됩니다. 

 나. 조건
  (1) j (if - else)

if – else 형식의 명령어로 조건이 맞을 때와 맞지 않을 때 각각에 대한 명령을 내릴 수 있습니다.

KD > bp 0x87ffb4e7 “j(MySymbol = 0) ‘’; ‘gc’”

 bp 0x87ffb4e7  0x87ffb4e7 브레이크 포인트를 설치
 j(MySymbol = 0)  if(MySymbol = 0)
 ‘’  if문이 참일 실행
 ‘gc’  if문이 거짓일 브레이크 포인트를 실행


  (2) z (while)
while문 형식의 명령어로 특정 조건을 만족할때까지 같은 작업을 반복할 수 있습니다.

KD > t;z(eax=0x875a4d00)

 t  트레이싱
 z(eax=0x875a4d00)  eax 0x875a4d00 일때까지