1 / 46

8 장 보안

8 장 보안. 발표자 : 박계홍 발표일 : 2006 년 9 월 25 일. 목차. 1. 들어가기 2. 보안 시스템 구성 요소들 3. 개체 보호하기 4. 계정의 권한과 특권 5. 보안 감사 6. 로그온 7. 소프트웨어 제한 정책 8. 결론. 실습목차. 2. 보안 시스템 구성 요소들 실습 1 : HKLM/SAM 과 HKLM/security 의 내부 들여다 보기 3. 개체 보호하기 보안 식별자 실습 2 : PsGetSid 를 사용하여 계정 SID 들을 보기

Download Presentation

8 장 보안

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 8장 보안 발표자 : 박계홍 발표일 : 2006년 9월 25일

  2. 목차 1. 들어가기 2. 보안 시스템 구성 요소들 3. 개체 보호하기 4. 계정의 권한과 특권 5. 보안 감사 6. 로그온 7. 소프트웨어 제한 정책 8. 결론

  3. 실습목차 2. 보안 시스템 구성 요소들 • 실습 1 : HKLM/SAM과 HKLM/security의 내부 들여다 보기 3. 개체 보호하기 • 보안 식별자 • 실습 2 : PsGetSid를 사용하여 계정 SID들을 보기 • 토큰 Tokens • 실습 3 : 액세스 토큰 보기 • 제한된 토큰 • 실습 4 : 제한된 토큰 들여다보기 • 보안 서술자와 액세스 제어 • 실습 5 : 보안 서술자 보기 4. 계정의 권한과 특권 • 특권 • 실습 6 : 활성화된 특권 보기 • 실습 7 : Bypass Traverse checking 특권 6. 로그온 • 실습 8 : 활성 로그온 세션 표시하기 7. 소프트웨어 제한 정책 • 실습 9 : 소프트웨어 제한 규칙의 시행을 확인하기

  4. 1. 들어가기 1.1 보안 등급 (Security Ratings) 1.2 믿을만한 컴퓨터 보안 평가 지침 (Trusted Computer System Evaluation Critiera) 1.3 공용평가기준(The Common Criteria)

  5. 1.1 보안 등급 (Security Ratings) • 공용평가기준(Common Criteria, CC) • 정보 기술 보안 평가를 위한 공용 기준(Common Criteria for Information Technology Security Evaluation, CCITSE)을 줄인 말이 CC이다. • 1996년 1월 미국, 영국, 독일, 프랑스, 캐나다, 네덜란드가 공동으로 정보 기술 보안 평가를 위한 공용 기준을 만듦. • 컴퓨터 보안 평가 지침(Trusted Computer System Evaluation Criteria, TCSEC) • 1981년 미 국방성의 국가 안전국 산하에 국립 컴퓨터 보안 센터(National Computer Security Center, NCSC http://www.radium.ncsc.mil/tpep안열림.)설립 • 상용 운영체제, 네트워크 구성 요소, 안전한 응응 프로그램 납품 등에 보안성을 표시하기 위한 보안 등급 설정 • http://www.radium.ncsc.mil/tpep/library/rainbow/5200.28-STD.html오렌지북이라고 한다.

  6. 1.2 믿을만한 컴퓨터 보안 평가 지침 (Trusted Computer System Evaluation Critiera, TCSEC ) 1 • [표 8 – 1] TCSEC 보안 수준

  7. Computer System Evaluation Critiera, TCSEC ) 2 • A1을 만족하는 운영체제는 없다. • B 등급들 중 하나를 받은 운영체제가 있긴하지만, C2 정도면 일반적인 용도로 충분한 보안을 제공한다고 볼 수 있다. • 1995년 7월 “Windows NT 3.5 with Service pack 3”가 Windows NT로는 최초로 C2등급 획득. • 1999년 3월 “Windows NT 4 with Service pack 3” 영국 정부의 정보 기술 보안(Informaition Technology Security, ITSEC)기구로 부터 E3 등급을 받았다. 미국의 C2에 해당한다.

  8. Computer System Evaluation Critiera, TCSEC ) 3 • C2 등급을 받기 위한 주요 요구 사항 • 안전한 로그온 수단 • 사용자를 구분할 수 있는 수단 • 임의 엑세스 제어 • 각 자원의 소유권자와 접급 가능자, 사용 가능자 구분 • 사용자, 사용자 그룹에 따라 권한 지정. • 보안 감사 • 보안 관련 이벤트, 시스템 리소스를 생성, 액세스, 삭제할 때 기록할 수 있어야 한다. • 개체 재사용 보호 • 다른 사용자가 이미 삭제한 데이터를 볼 수 없게 해야 한다. • Windows는 B 등급 보안 중 2가지를 만족한다. • 신뢰할 수 있는 경로 기능성 • 트로이목마 프로그램이 사용자 이름과 암호를 가로 챌 수 없다. • Ctrl+Alt+Delete키는 보안 주의 시퀀스(secure attention sequence, SAS)라고 알려진 이런 키 조합은 가로채기가 안된다. • 신뢰할 수 있는 기능 관리 • 관리자 기능을 위한 독립적인 계정을 만들 수가 있다.

  9. 1.3 공용평가기준(The Common Criteria) 1 • CC는 TCSEC 신뢰 등급보다 더 유연하고, ITSEC에 가까운 구조를 하고 있다. • 보안 요구사항을 수집하여 쉽게 표준화된 명세표로 변환할 수 있는 보호 프로필(Protection Profile, PP)의 개념과 PP를 통해 얻게 될 보안 요구도들을 정의한 보안 목표(Security Target, ST)의 개념이 포함되어 있다. • 2002년 10월 Windows 2000 TCSEC의 C2 등급에 해당하는 PP의 요구도와 그 밖의 CC 기능과 보증의 요구들을 만족 • CC 인증 받은 것들을 볼 수 있다.http://niap.bahialab.com/cc-scheme/vpl/vpl_type.cfm) • Windows 2000 (http://niap.bahialab.com/cc-scheme/st/ST_VID4002.cfm) • 2005년 11월 Windows 2003 Server와 XP(http://niap.bahialab.com/cc-scheme/st/ST_VID4025.cfm )

  10. 1.3 공용평가기준(The Common Criteria) 2 • Windows 2000의 보안 목표 • 암호화 기반의 임의 액세스 제어 기능 • 암호화 파일 시스템과 보안 API를 통해 구현 • 추가적인 사용자 데이터 개체에 대한 임의 액세스 제어 • 분산 운영체제로서의 Windows 2000 시스템 각 부분들 사이에 보안 관련 데이터들을 동기화하기 위한 내부 복제 • 물리적 디스크 공간에 대한 자원 활용 • 대화식 세션 잠금과 초기 사용자 로그온에 대한 안전한 경로 • 내부 데이터 전송 보호. Windows 2000 운영체제의 물리적으로 각각 분리된 부분들 사이에 데이터가 전송될 때 누설 또는 변조되지 않게 보호한다. • 시스템 오류 보정

  11. 보안 시스템 구성 요소들(Security System Components) 1 1. 보안 참조 모니터 Security reference monitor (SRM) • Windows 실행부의 구성 요소(/Windows/system32/Ntokrnl.exe) • 액세스 토큰 자료 구조를 정의 • 개체에 대한 보안 접급 체큽 • 사용자 권한을 조작, • 보안 감사 결과 메시지 생성 2. 로컬 보안 권한 서브시스템Local security authority subsystem (Lsass) • 사용자 모드 프로세스(/Windows/System32/Lsass.exe) • 로컬 시스템 보안 정책 • 사용자 인증 • 이벤트 로그에 보안 감사 메시지를 보내기 • 로컬 보안 권한 서비스(Lsasrv-/Windows/system32/Lsasrv.dll)와 Lsass가 읽어 들이는 라이브러리에 이 기능이 구현되어 있다. 3. 로컬 정책 데이타베이스 Lsass policy database • 로컬 시스템 보안 정책 설정이 저장되어 있는 데이터베이스 • 레지스트리 HKLM/SECURITY에 저장 4. 보안 계정 관리자 서비스 Security Accounts Manager (SAM) Service • /Windows/system32/Lsasrv.dll에구현 • Lsass 프로세스에서 동작 5. SAM 데이타베이스 SAM database • 도메인 컨트롤러가 아닌 시스템에서 로컬 사용자와 그룹들, 그리고 그들의 암호와 기타 정보들을 저장하는 데이터베이스 • 도메인 컨트롤러에서는 시스템의 관리자 복구 계정 정의와 암호를 저장. • HKLM/SAM에 저장

  12. 보안 시스템 구성 요소들(Security System Components) 2 6. 액티브 디렉토리 Active Directory) • 도메인 : 컴퓨터들과 보안 그룹들이 하나의 실체(entity)로 묶여 관리되는 집합 • 도메인 내의 개체들, 즉 사용자, 그룹, 컴퓨터들에 대한 정보를 담고 있다. • /Windows/System32/Ntdsa.dll에 구현 7. 인증 패키지 Authentication packages • 인증 DLL을 포함 • 인증 DLL은 사용자 이름과 암호가 맞는지 검사하고, 맞으면 Lsassrk 액세스 토큰을 생성할 수 있게 해준다. • 로컬 시스템 보안 정책 8. 로그온 프로세스 Logon process (Winlogon) • 사용자 모드 프로세스(/Windows/System32/Winlogon.exe) • 사용자가 로그온을 하려고 할 때 셀(사용자 인터페이스) 프로세스를 생성한다. 9. 인증 GUI와 신원확인 Graphical Identification and Authentication (GINA) • 사용자 모드 DLL(/Windows/System32/Msgina.dll) • 사용자의 이름과 암호, 스마트 카드 PIN 등을 입력 받는다. 10. 네트워크 로그온 서비스 Network logon service (Netlogon) • Windows 서비스(/Windows/System32/Netlogon.dll) • 도메인 컨트롤러에 연결하는 안전한 채널을 확보한다. 11. 커널 보안 장치 드라이버 Kernel Security Device Driver (KSecDD) • 커널 모드 보안 요소들이 사용자 모드의 Lsass와 통신하는데 필요한 LPC 이터페이스를 구현하는 커널 모드 라이브러리 • (/Windows/System32/Drivers/Ksecdd.sys)

  13. 보안 시스템 구성 요소들(Security System Components) 3 [그림 8-1] Windows의 보안 구성 요소들

  14. 보안 시스템 구성 요소들(Security System Components) 4 • 실습 1 : HKLM/SAM과 HKLM/security의 내부 들여다 보기 • PsExec v1.72(sysinternals) • Psexec -s -i -d c:\windows\regedit.exe

  15. 실습 1 : 결과 화면 Psexec를 사용하여 열었을

  16. 실습 1 : 참고화면 (그냥 레지스트리 편집기 열기)

  17. 개체 보호하기(Protecting Objects) 1 • 액세스 검사 Access Checks • 보안 식별자 Security Identifiers (SIDs) 실습2 • 토큰 Tokens 실습3 • 자격 변경 (또는 가장) Impersonation • 제한된 토큰 Restricted Token 실습 4 • 보안 서술자와 액세스 제어 security Descriptor and Access Control 실습 5

  18. 개체 보호하기(Protecting Objects) 2 • 보안 식별자 • 실습 2 PsGetSid를 사용하여 계정 SID들을 보기 • PsTools v2.34, PsGetSid v1.43 • 실습 • psgetsid -? • psgetsid userid

  19. 개체 보호하기(Protecting Objects) 3 • 토큰 • 실습 3 액세스 토큰 보기 • 커널 디버거 • http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx • 실습 • Dt _TOKEN • !process • !process (cid) 1 • !token (token)

  20. 개체 보호하기(Protecting Objects) 4 • 제한된 토큰 • 실습 4 제한된 토큰 들여다보기

  21. 개체 보호하기(Protecting Objects) 5 • 보안 서술자와 액세스 제어 • 실습 5 보안 서술자 보기

  22. 계정의 권한과 특권(Account Rights and Privileges) 1 • 계정 권한 • 특권 • 실습 6 : 활성화된 특권 보기 • 실습 7 : Bypass Traverse checking 특권 • 슈퍼 권한

  23. 계정의 권한과 특권(Account Rights and Privileges) 2 • [그림 8-6] 로컬 보안 정책 편집기에서의 사용자 권한 부여

  24. 계정의 권한과 특권(Account Rights and Privileges) 3 • 계정 권한 • 보안 참조 모니터 (SRM)에 의해 강제되지 않고 토큰에 저장되지도 않는다. [표 8-4] 계정 권한들

  25. 계정의 권한과 특권(Account Rights and Privileges) 4 • 특권 • 시스템 관련한 연산 등의 연산을 할 수 있는 권한이다. • 특권이 해가 갈수록 늘어났다. • 각각 다른 특권이 다른 구성요소에서 정의되고 각각 따로 이르 ㄹ관리한다. • 활성화, 비활성화 될 수 있다. • 특정 토큰이 들어 있어야 활성화 된다.

  26. 계정의 권한과 특권(Account Rights and Privileges) 5 • 실습 6 : 활성화된 특권 보기 • procexp.exe v10.2 (sysinternals) • 실습 • [view]-[update speed]-[paused] 선택

  27. 실습 6 : 결과 화면 • Procexp.exe의 속성 탭의 보안 항목에서 SeSystemtimePrivilege가 Disabled로 된 것을 확인할 수 있다.

  28. 계정의 권한과 특권(Account Rights and Privileges) 6 • 실습 7 : Bypass Traverse checking 특권 • 실습 안됨!!

  29. 계정의 권한과 특권(Account Rights and Privileges) 7 • 슈퍼 권한 • 프로그램 디버깅 • 소유권 가져오기 • 파일과 디렉터리의 복원 • 장치 드라이버의 로딩 및 언로딩 • 토큰 개체 생성 • 운영체제의 일부로 동작

  30. 보안 감사(Security Auditing) 1 • 감사와 연관된 특권 : SeSecurityPrivilege와 SeAuditPrivilege • 로컬 보안 정책 : 보안 이벤트에 대한 감사 결정 여부를 결정 • 정책 편집기로 수정 가능

  31. 보안 감사(Security Auditing) 2 • /Windows/System32/secpol.exe [그림 8-7] 보안 정책 편집기의 감사 정책 설정

  32. 보안 감사(Security Auditing) 3 • [그림 8-8] 보안 감사 레코드들의 흐름

  33. 보안 감사(Security Auditing) 4 • [그림 8-9] 프로세스와 스레드 보안 구조체들

  34. 로그온(Logon) 1 • Winlogon 초기화 • 사용자 로그온 과정 • 실습 8 : 활성 로그온 세션 표시하기

  35. 로그온(Logon) 2 [그림 8-10] 로그온과 관련된 구성요소들

  36. 로그온(Logon) 3 • Winlogon 초기화 • \Windows\WindowStations\WinSta0 생성 • 응용 프로그램 데스크톱과 Winlogon 데스크톱 생성 • 로그온 하기 전에 보이는 바탕 화면은 Winlogon의 것 • Ctrl+Alt+Del키를 누르면 바탕화면에서 Winlogon으로 전환 가능 • LsaAuthenticationPort를 이용하여 LPC 연결을 만든다.

  37. 로그온(Logon) 4 • 사용자 로그온 과정 • 사용자가 SAS를 누르면 로그온 과정이 시작 • WinLogon • GINA를 호출하여 사용자 이름과 암호를 받아온다. • 사용자에 대한 고유의 로컬 로그온 SID를 생성하여 데스크톱 배정 • SID를 Lsass에 LsaLogonUser 호출의 일부로 전달 • 사용자가 성공적으로 로그온 • SID는 로그온 프로세스 토큰에 포함됨 • WinLogon은 사용자 이름과 암호가 들어오면 인증 패키지를 찾는다. • 인증패키지가 사용자 인증을 하고 나면, Winlogon은 이 사용자에 대한 로그온 과정을 계속한다. • 실패하면 로그온 과정은 중단된다. • Windows는 Kerberos와 MSV1_0 두 가지 표준 인증 패키지를 대화식 로그온용으로 가지고 있다.

  38. 로그온(Logon) 5 • 실습 8 : 활성 로그온 세션 표시하기 • LogonSessions v1.1 (sysinternals) • Handle v3.2 (sysinternals) • 실습 • Logonsesstion • Handle –a [logonsesstion 주소]

  39. 실습 8 : 결과 화면 • 활성화된 로그온 세션에서 user라는 사용자의 핸들을 가져온다.

  40. 소프트웨어 제한 정책(Software Restriction Policies) 1 • 보안 정책 편집기(secpol.msc)의 소프트웨어 제한 정책 항목에서 코드 실행 정책을 관리할 수 있다. • 강요 정책 : • 제한 정책을 DLL에도 적용할지 선택, • 제한 정책을 관리자들에게도 적용할지 선택 • 지정된 파일 형식 • 실행 프로그램 코드로 인정되는 파일의 확장자 기록 • 신뢰할 수 있는 게시자 • 신뢰할 수 있는 인증서 발급 기관 선택

  41. 소프트웨어 제한 정책(Software Restriction Policies) • 실습 9 : 소프트웨어 제한 규칙의 시행을 확인하기 • secpol.msc • RegMon v7.03 • 주의 사항 • 로그오프를 해야 정책이 변경됨 • 새해시규칙으로 만드는 것임.

  42. 실습 9 : 결과화면 1 • 소프트웨어 제한 정책이 없을 경우 [동작]-[새 정책]을 클릭한다. • [소프트웨어 제한 정책]-[추가규칙]에서 마우스를 우클릭해서 [새 해시 규칙 만들기]를 선택

  43. 실습 9 : 결과화면 2 • 찾아보기에서 파일을 찾아서 선택한 후의 화면 • 자동으로 해시 값이 설정된다. • 보안 수준을 선택하고, 설명 입력.

  44. 실습 9 : 결과화면 3 • 새 해시 규칙이 만들어 진 것을 확인할 수 있다.

  45. 실습 9 : 결과화면 4 Notepad를 실행시키면 다음 창이 뜬다.

  46. 결론(Conclusion) • Windows는 정부 기관이나 상용 목적 모두의 요구를 만족하는 광범위한 보안 기능을 제공한다. • 다음 장에서는 핵심 요소들 중 마지막인 I/O 시스템에 대해 살펴보겠다.

More Related