안녕하세요. 코난 김대우입니다. 이번에 다룰 포스팅 내용은 클라우드와 보안 두 번째, 인프라 보안이 플랫폼 보안과 어플리케이션 보안으로 변화라는 내용으로 진행 예정입니다. 아마도, 이 글에 관심있는 분들은 충분히 개발이나 IT인프라는 물론 클라우드에 대한 높은 이해와 관심을 가지는 분으로 예상되기 때문에, 설명이나 이해를 목표로 포스팅을 진행하기 보다는 짧은 노트 형태로 남겨 보려고 합니다. 이하, 경어 생략.
클라우드 보안 무엇이 이슈인가? - 클라우드와 보안 (1/3)
인프라 보안이 플랫폼 보안과 어플리케이션 보안으로 변화 - 클라우드와 보안 (2/3)
Azure가 제공하는 클라우드 서비스 보안 인프라 - 클라우드와 보안 (3/3)
이전 포스팅을 통해, 아래의 내용을 짚어 보았다.
- 클라우드를 사용하려는 고객과, 클라우드 솔루션 개발사의 고민은 크게 다르지 않다.
- 클라우드에도 여전히 산재한 IT 인프라 & 어플리케이션에 대한 보안 위협 및 패턴
- 클라우드로 서비스 한다고 해도, 위협 요인은 항상 존재. 보안 및 위협 대응 방식에 대한 근원적 변화가 필요.
- 클라우드 서비스 도입 전, 클라우드의 보안은 다음 사항에 대한 총체적 보안 이슈 검증이 필요
- Ownership에서 Control로 보안 모델 변화
- 클라우드 서비스의 위협요인 분석
- 클라우드 서비스의 보안 레이어
대미는 역시 우리가 관심 있는 Windows Azure의 클라우드 서비스 보안 인프라를 알아 보는 시간.
아래 내용 거의 대부분은 아래 기술백서의 내용임을 미리 밝힌다.
Windows Azure 보안 기술백서 다운로드 / Security Best Practices for Developing Windows Azure Applications
클라우드 서비스의 위협요인과 Windows Azure가 제공하는 방어 전략
1) Port Scanning/ Service Enumeration
- Service Definition file
- Windows Firewall
- VM switch packet filtering
2) Denial of Service
- Load-balanced Infrastructure
- Network bandwidth throttling
3) Spoofing
- VLANs
- Hypervisor VM Switch filter
- encrypted and mutually authenticated over an HTTPS connection
4) Eavesdropping / Packet Sniffing
- restrict which IP and MAC addresses
5) Multi-tenant hosting and side-channel attacks
- inherently untrusted by the Root OS Hypervisor
6) External Verification
- Contracted two top-tier penetration testing firms
이외의 다양한 위협과 방어에 대한 내용은 Windows Azure 보안 기술백서에서 확인 가능하며, Designing More Secure Windows Azure Services 내용을 참조하면 더욱 상세한 위협과 대응에 대한 내용을 확인 가능.
클라우드 서비스의 보안 레이어와 Windows Azure
클라우드 레이어별로 Windows Azure는 다음과 같은 방어 전략을 제공 하며, 일부 내용만 소개.
1) 데이터 레이어
Strong storage keys for access control
SSL support for data transfers between all parties
2) 어플리케이션 레이어
Front-end .Net code running under partial trust
Windows account with least privileges
3) 호스트 레이어
Stripped down version of Windows Server 2008 OS
Host boundaries enforced by external hypervisor
4) 네트워크 레이어
Host firewall limiting traffic to VMs
VLANs and packet filters in routers
5) 물리적 레이어
World-class physical security
ISO 27001 and SAS 70 Type II certifications for datacenter processes
조금 더 상세히, Windows Azure가 제공하는 레이어별 보안 관련 사항 검토는 Windows Azure 보안 기술백서의 Appendix B. Windows Azure Deployment Security Threat Matrix 내용을 참조하면 더욱 상세한 내용을 확인 가능.
Windows Azure가 제공하는 데이터 보안 및 스토리지 보안
데이터 저장 방식이나 접근, 접근 제어 정책 등을 제공하며 아래의 내용이 권고됨.
- Generate Shared Access Signatures with the most restrictive set of ACLs possible that still grant the access required by the trusted party.
- Use the shortest lifetime possible.
- Use HTTPS in the request URL so the token cannot be snooped on the wire.
- Remember that these tokens are only used for temporary access to non-public blob storage – as with passwords, it‟s a bad idea to use the same ones over and over.
Windows Azure 데이터 스토리지 암호화 방식도 물론 사용 가능하며, 콘텐트에 대한 암호화는 어플리케이션에서 구성 후 손쉽게 암호화 처리가 가능 - 간략히, 데이터는 모두 암호화되어 저장되며, On-premise에서 암호화된 키를 보유하고 있는 구조. 이는 SQL Azure도 마찬가지로 활용 가능.
- Microsoft recommends using 256-bit AES keys for symmetric encryption
- Developers also should not store private keys associated with SSL/TLS certificates in Windows Azure Storage. Instead, upload them through the Developer Portal and access them via thumbprint references in the Service Configuration.
Windows Azure가 제공하는 네트워크 보안
Azure는 자체에 다양한 여러 목적의 방화벽 구조가 존재. 인프라에서 관리되기도 하며, 필요할 경우 서비스 사용자가 제어도 가능. 예를 들어, 특정 서브넷만 클라우드 특정 어플리케이션에 접근하는 시나리오를 구성.
네트워크와 관련된 보안은 대부분 인프라 보안과 연관되며, 이에 대한 Windows Azure의 인프라 보안 전략은 앞에서 이미 소개되었음.
Azure의 구성요소간 다른 SSL 채널을 사용하며 SSL기반 릴레이 구조. 만에 하나, 특정 SSL 인증서에 대한 블리치가 생겨도 전체 SSL이 문제가 되는 경우를 예방하는 보안 구조 제공.
클라우드 서비스에 맞는 인증 방식들을 제공하며, 안전한 ACS(Access Control Service) 환경 제공. REST 방식의 웹서비스 관련 내용이니 보안 관련된 권고 사항은 한가지.
- The AC leverages the OAuth Web Resource Authorization Protocol (OAuth WRAP)
참고자료 : Windows Azure 보안 인증 - Azure Identity
클라우드 어플리케이션 개발시 권장되는 보안 프로그래밍
클라우드에서 서비스되는 어플리케이션의 안정성은 개발자에게 의존적. 어플리케이션 개발시 권고되는 사항들을 가이드로 제공하며, 이에 입각한 개발을 권장. 금융권이나 민감한 개인정보 데이터를 다루는 클라우드 개발자라면, 기술을 떠나 꼭 Windows Azure 보안 기술 백서의 내용들을 읽어 두시길 권장.
- Isolate web roles and separate duties of individual roles in order to maximize the use of Windows Azure Partial Trust.
- Use the “Gatekeeper” design pattern to separate role duties and isolate privileged access
- Use multiple storage keys to restrict access to privileged information where the Gatekeeper pattern does not apply.
SDL(Security Development Lifecycle) 가이드 제공. SDL에 대한 상세한 내용은 SQLER에서 최근 포스팅했던 안전한 클라우드 어플리케이션 개발 가이드 SDL - Security Development Lifecycle 참조(미리 적어놔서 다행)
-Security Education and Awareness
- Secure Development Practices on the Windows Azure platform
Windows Azure에서 권장되는 암호화 방식 권장사항은 Windows Azure 보안 기술백서의 Appendix D: Using SDL-approved cryptography in Windows Azure Applications 에서 상세히 확인 가능
Windows Azure가 제공하는 다양한 보안 전략에 대한 소개를 마침.
PS.
클라우드와 보안 포스팅을 진행하면서, 월드클래스 클라우드 보안 서비스를 제공하는 곳은 전세계에 두군데 정도라고 언급했으며 당연히, Windows Azure가 그 중 하나.
PS2.
곧 있을 클라우드 비즈니스 모델 관련 포스팅을 진행 후, Windows Azure 도입 사례 관련 내용을 풀어볼 예정. 전세계의 다양한 Industry와 민감한 데이터를 다루는 금융권과 같은 비즈니스에서도 어떻게 Azure가 새로운 기회를 창출하면서 잘 사용되는지 풀어볼 예정이며 많은 도움 되시면 좋겠습니다.
참고자료 :
Azure가 서비스되는 데이터센터들 - 소개 영상
Windows Azure 보안에 대한 소개 영상 - Windows Azure Security Overview
Windows Azure 보안 인증 - Azure Identity
안전한 클라우드 어플리케이션 개발 가이드 SDL - Security Development Lifecycle
Windows Azure Platform Security Essentials 시리즈 영상 소개
Azure - 클라우드 컴퓨팅 - 시리즈 강좌 리스트 [Azure강좌] 1. 클라우드와 원도우 애저 소개 [Azure강좌] 2. SDK 설치와 Azure 무료 신청 [Azure강좌] 3. ASP.NET(Web Role) Hello World [Azure강좌] 4. 프로젝트 패키지 Azure 배포 [Azure강좌] 5. Windows Azure Storage 서비스와 계정 설정 [Azure강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1 [Azure강좌] 7. SQL Azure 소개와 서버 구성 [Azure강좌] 8. 데이터베이스 생성과 SSMS 사용 [Azure강좌] 9. SQL Azure 마이그레이션 위자드 사용하기 [Azure강좌] 10. SQL Azure 방화벽 설정 [Azure강좌] 11. SQL Azure Manage 툴 사용해 보기 [Azure강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2 [Azure강좌] 13. SQL Azure ASP.NET GridView 바인딩 [Azure강좌] 14. Blob 서비스와 Container [Azure강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제 [Azure강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용 [Azure강좌] 17. Windows Azure CDN 설정 [Azure강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가 [Azure강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제 [Azure강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션
Azure - 클라우드 컴퓨팅 - 동영상 참고 자료
[Azure 동영상 강좌] 1. 클라우드와 원도우 애저 소개 (애저 포털 둘러보기) [Azure 동영상 강좌] 2. SDK 설치와 Azure 무료 신청 [Azure 동영상 강좌] 3. ASP.NET(Web Role) Hello World [Azure 동영상 강좌] 4. 프로젝트 패키지 Azure 배포 [Azure 동영상 강좌] 5. Windows Azure Storage 서비스와 계정 설정 [Azure 동영상 강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1 [Azure 동영상 강좌] 7. SQL Azure 소개와 서버 구성 [Azure 동영상 강좌] 8. 데이터베이스 생성과 SSMS 사용 [Azure 동영상 강좌] 9. SQL Azure 마이그레이션 위자드 사용하기 [Azure 동영상 강좌] 10. SQL Azure 방화벽 설정 [Azure 동영상 강좌] 11. SQL Azure Manage 툴 사용해 보기 [Azure 동영상 강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2 [Azure 동영상 강좌] 13. SQL Azure ASP.NET GridView 바인딩 [Azure 동영상 강좌] 14. Blob 서비스와 Container [Azure 동영상 강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제 [Azure 동영상 강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용 [Azure 동영상 강좌] 17. Windows Azure CDN 설정 [Azure 동영상 강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가 [Azure 동영상 강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제 [Azure 동영상 강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션
클라우드 서비스 도입 전, 클라우드의 보안은 다음 사항에 대한 총체적 보안 이슈 검증이 필요
- 사람
- 데이터
- 어플리케이션
- 호스트
- 네트워킹
- 서버 하드웨어 보안
Ownership에서 Control로 보안 모델 변화
특히, 기존의 전통적인 인프라 단계의 보안이 플랫폼과 애플리케이션의 단계로 이동하며 방화벽과 Network Access Control List는 가상 방화벽과 호스트 패킷 필터로 대체됨. 다수의 privileged 고객들은 시스템 통제 하의 고객 에이젼트로 전환 되고 플랫폼과 네트워크 레벨의 암호화는 제 기능을 하지만 개별 애플리케이션에 대한 암호화는 개발자의 관리 및 책임이 높아짐.
클라우드 서비스의 위협요인 분석
앞서 논의한 것처럼, 클라우드 도입 = 보안 위협 완화 or 해소를 의미하지는 않음. 위협 자체가 해소 되지 않으며, 일부 완화 또는 새로운 보안 위협이 생성됨.
1) 기존재 위협 요인
- XSS
- SQL Code Injection
- DDoS
- Network Flooding
2) 증가하는 위협 요인
- 개인정보 데이터에 대한 보호
- 권한있는 관리자의 접근으로부터 보호(Privileged Access)
3) 새롭게 발생하는 위협요인
New Privilege Escalation Attacks (VM to host or VM to VM)
Jailbreaking the VM boundary
Hyperjacking (rootkitting the host or VM)
4) 완화되는 위협요인
Patching is automated and instances are moved to secure systems
Cloud resiliency improves failover across a service
위협의 종류와 위협의 단계는 IaaS나 PaaS일 경우에 따라 달라지며, 당연한 서비스 스택 구조상 IaaS의 경우가 더 많은 보안 관련 위협이 존재.
이미 on-premise에서 서비스 중인 환경에도 위협요인은 항상 존재. 공격 요인은 산재하고 있으나, 대응 방식에 대한 근원적 변화 필요. 클라우드 서비스가 제어 가능한 위협도 있으나, 어플리케이션에 대한 위협은 여전히 개발자와 사용자에게 존재함을 주의할 필요 있음. 특히, 하이브리드 서비스형으로 On-premise와 클라우드 서비스를 하나의 네트워크로 결합하는 서비스의 경우 복합적인 공격의 경우는 클라우드 보안과 사내 인프라에 대한 다각적 보안 검토 역시 필요.
클라우드 서비스의 보안 레이어
크게 5개의 레이어로 나뉘며 각 영역에 대한 보안 구성을 일반적으로 정의. IaaS나 PaaS일 경우에 따라 세분화 하는 경우도 있음.
- 물리적 레이어
- 네트워크
레이어에 맞는 다양한 보안 인증이나 보안 서비스 내역을 이해하고 도입 전 충분히 사전 검토할 필요 있음.
다음으로는, 기대하셨던 마지막 포스팅!
Windows Azure는 어떻게 안전한 클라우드 서비스를 제공하고 있는지 알아보도록 하겠습니다.
감사합니다.
안녕하세요. 코난 김대우입니다. 이번에 다룰 포스팅 내용은 "클라우드와 보안"이라는 내용으로 진행 예정입니다. 아마도, 이 글에 관심있는 분들은 충분히 개발이나 IT인프라는 물론 클라우드에 대한 높은 이해와 관심을 가지는 분으로 예상되기 때문에, 설명이나 이해를 목표로 포스팅을 진행하기 보다는 짧은 노트 형태로 남겨 보려고 합니다. 이하, 경어 생략.
클라우드를 사용하려는 고객과, 클라우드 솔루션 개발사의 고민은 크게 다르지 않다.
- 클라우드 서비스 제공자를 신뢰할 수 있는가? - 데이터 외부(사외) 보관에 대해 매우 민감 & 불안 - 클라우드 서비스 제공자 입장에서 Biz Model로의 SaaS는 장점이지만, 보안 관점에서 멀티 테넌트 방식 하의 고객은 "우리의 데이터가 명확히 분리/격리되어 있을까?", "물리적 장치 접근 또는 시스템 리소스 접근 권한자와 같은 제 3자에 노출되어 있지 않을까?"와 같은 불안. 즉, "어플리케이션 관점, 또는 프로세스 관점에서 분리되어 있을까?"에 대한 의문들이 산재 - 데이터 보관 장소를 정확히 알기 어렵다. = 법제도와의 충돌 우리는 개인정보와 관련 데이터에 대해 법률로 보관 저장소를 제한하고 있음. 특히 EU의 경우 "데이터 보호지령" 중, EU내 거주민 대상 충분한 레벨의 보호를 하고 있지 않을 경우 3국으로의 데이터 이동을 금지하는 법안도 존재. - 자사 데이터에 접근하는 여부 확인을 위한 엑세스 로그 관리에 대한 의문. - 클라우드 도입 = 보안 위협 완화 or 해소?
- 클라우드 서비스 제공자를 신뢰할 수 있는가?
- 데이터 외부(사외) 보관에 대해 매우 민감 & 불안 - 클라우드 서비스 제공자 입장에서 Biz Model로의 SaaS는 장점이지만, 보안 관점에서 멀티 테넌트 방식 하의 고객은 "우리의 데이터가 명확히 분리/격리되어 있을까?", "물리적 장치 접근 또는 시스템 리소스 접근 권한자와 같은 제 3자에 노출되어 있지 않을까?"와 같은 불안. 즉, "어플리케이션 관점, 또는 프로세스 관점에서 분리되어 있을까?"에 대한 의문들이 산재 - 데이터 보관 장소를 정확히 알기 어렵다. = 법제도와의 충돌 우리는 개인정보와 관련 데이터에 대해 법률로 보관 저장소를 제한하고 있음. 특히 EU의 경우 "데이터 보호지령" 중, EU내 거주민 대상 충분한 레벨의 보호를 하고 있지 않을 경우 3국으로의 데이터 이동을 금지하는 법안도 존재. - 자사 데이터에 접근하는 여부 확인을 위한 엑세스 로그 관리에 대한 의문.
- 클라우드 도입 = 보안 위협 완화 or 해소?
조금 더 상세 & 구체적인 인증, 제한, 법제도 내용까지 내려가 본다면
ISO 27001
SAS 70 Type2(SSAE-16)
관할지역 법적인 요구사항(Jurisdiction)
SLA - 이미 SQLER에서도 한번 포스팅된 사항
US Safe Harbor
EU Data Protection Directive
EU Model Contractual Clauses
FISMA(Federal Information Security Management Act)
FedRAMP(Federal Risk and Authorization Management Program)
Payment Card Industry Data Security Standard
HIPAA (Health Insurance Portability and Accountability Act)
국내 클라우드 사업자가 해외 서비스도 목표라면 반드시 법제도에 대해 이해할 필요 있음. 클라우드 도입의 특성상, Vertical Industry에 대한 이해, Jurisdiction에 따라 극명하게 차별화. 현재 위의 항목들이 적용+고려되는 데이터 센터와 서비스 프로세스를 보유한 회사는 전세계에서 두 군데 정도로 알려짐. 여담으로, 클라우드 컨설팅 한다고, go-global 컨설팅 도와 드린다고 컨설턴트 명함 파는 분들 갑자기 고민 되실 듯.
(위의 내용들을 관심있게 검토하면서 느낀건, 우리의 제정된 개인정보보호법은 참 사업자 중심으로 심플하구나... 하는 생각. 쿨럭.)
이제 조금 더 익숙한 내용으로 돌아가 본다면,
클라우드에도 여전히 산재한 IT 인프라 & 어플리케이션에 대한 보안 위협 및 패턴
Spoofing
Port Scanning/ Service Enumeration
Tampering & Disclosure
Denial of Service
Elevation of Privilege
우리가 서비스하는 어플리케이션은 안전한가? 위협이 사라지나?
기본 대전제로,
클라우드를 도입하면 모든 보안 위협과 안정성 문제가 해결 = 영업사원 멘트 / 그럴 일은 없소.
클라우드 SLA가 99.9% 이상인건 인프라를 의미하며, 우리가 만들어 올리는 어플리케이션의 안정성은 여전히 개발자에 의존적.
클라우드 서비스가 제어 가능한 위협도 있으나, 어플리케이션에 대한 위협은 여전히 존재.
클라우드 환경의 특성상, 새롭게 발생하는 위협 요인도 존재.
- New Privilege Escalation Attacks (VM to host or VM to VM) - Jailbreaking the VM boundary - Hyperjacking (rootkitting the host or VM)
클라우드로 서비스 한다고 해도, 위협 요인은 항상 존재. 보안 및 위협 대응 방식에 대한 근원적 변화가 필요.
보안 위협에 대한 상세한 내용은 다음 포스팅에서 다룰 예정.
안녕하세요. 김대우입니다.
이번에 소개해 드릴 내용은 Windows Azure의 보안에 대한 내용으로, Windows Azure Platform Security Essentials 시리즈 영상 소개 입니다.
총 6개의 시리즈로 구성된 아래 영상들은 Azure 개발시 참고하시면 좋은 보안에 입각한 어플리케이션 개발에 대한 내용들을 포함하고 있습니다. 6개 시리즈를 개별 올리기 보다는, 링크로 제공해 드려도 좋을 듯 하네요.
추가로, BDM이나 TDM 대상 영상도 있습니다. ^_^
골라서 보셔도 좋겠네요. ^_^
영상링크 :
Windows Azure Platform Security Essentials: Module 1 - Security Architecture
Windows Azure Platform Security Essentials: Module 2 – Identity Access Management
Windows Azure Platform Security Essentials: Module 3 – Storage Access
Windows Azure Platform Security Essentials: Module 4 – Secure Development
Windows Azure Platform Security Essentials: Module 5 - Secure Networking using Windows Azure Connect
Windows Azure Platform Security Essentials: Module 6 – Windows Azure Role Security
Windows Azure Platform Security Essentials for Business Decision Makers
Windows Azure Platform Security Essentials for Technical Decision Makers
많은 도움 되시길 바랍니다.
이번에 소개해 드릴 내용은 SDL - Security Development Lifecycle 에 대한 내용입니다.예전, 울산 모사에 KTX타고 SDL 세미나 발표하러 갔던게 엇그제 같군요. 안전한 클라우드 어플리케이션 개발 가이드로 소개되고 있는 SDL을 보니 뿌듯합니다.
(발표자료 준비하느라 몇날 밤을 꼬박 세웠던지... ㅎㅎㅎ)
간단히, SDL은 특정 소프트웨어 벤더의 솔루션 개발을 위한 가이드가 아니라,
- SDL은 마이크로소프트의 보안 개발 방법에 대한 투명한 제공을 위해 제작된 보안 프로세스 입니다.
- 마이크로소프트 개발팀에서 SDL은 연간 교육을 통해 매우 정교하게 적용되고 있습니다.(실제로 마이크로소프트 R&D에서 개발에 적용되고 있습니다.)
- 하지만, 외부 3rd 파티 개발사가 제작한 코드나 직접 개발하지 않은 리소스가 존재해 코드 접근성이 떨어질 경우 그 효과는 달라질 수도 있습니다.
SDL 세미나 관련해 일반적으로 받았던 문의 내용은
- 모든 플랫폼과 개발 언어에서 적용 가능한 가이드 입니다.
- 모든 종류의 소프트웨어 개발 프로젝트에 적용 가능하며
- 폭포수 개발 방법론, 나선형 개발 방법론은 물론, 애자일 개발 방법론에서도 적용 가능합니다.
- 마이크로소프트는 물론, 다양한 개발 환경에서 사용 가능한 툴이 제공됩니다.
SDL 공식 웹사이트 :
http://www.microsoft.com/security/sdl/default.aspx
적용 후 ROI에 대한 내용은, SDL 공식 사이트 참고 하시길 바랍니다. 간략히, 스테이징 또는 배포 후 버그 처리에 대한 비용과 SDL로 버그나 보안 관련 처리 후 관계를 비교해 본다면 어렵지 않게 직접 ROI 계산도 되실겁니다.
그렇다면, SDL이 Windows Azure나 개발과 무슨 상관이 있는가?
어플리케이션 개발시 완성도 높은 솔루션 개발을 위해 SDL이 강력히 권고됩니다. 단순히 "동작하는" 어플리케이션이 아니라, 충분히 보안 안 검토가 이루어지고 안정성 높은 어플리케이션 개발을 위해 팀 개발을 하신다면 권장해 드리고 싶습니다.
Inside the Microsoft Security Development Lifecycle
SDL Process Template for Visual Studio Team System
Microsoft Security Development Lifecycle (SDL) and Software Security Today
MSDN TV - Security Development Lifecycle
SDL Threat Modeling Tool
The Security Development Lifecycle - MSDN Blogs
17페이지 분량의 SDL 관련 문서가 제공됩니다.
Simplified Implementation of the Microsoft SDL
본 내용은 제목처럼 "Simplified" 문서이며, 실제 마이크로소프트 R&D에서 사용하는 SDL과 내용에 차이가 있습니다.