클라우드 컴퓨팅
어쩌다 보니
UAM(Urban Air Mobility, 드론택시) 시스템에
보안 컨설팅을 하게 되었다.
해킹 등으로 부터 안전한 시스템을 만들기 위해
어떤 점을 고려하여야 한다고 말할 것인가?
의견들 :
- 다른 프로토콜 SSL 처럼 보안을 집어 넣음
- OWASP TOP10 보안 검증을 했는지
클라우드 컴퓨팅 서비스란
서비스 형태로 공유함
공유경제,구독경제
클라우드 컴퓨팅
서버를 안사고 빌려쓰는것인데 쏘카 같이 빌려쓴다 기다리지 않고 일정한 금액을 내고 쓰는 것
클라우드 컴퓨팅 발전 및 이용자 보호에 관한 법률
- 집적(밀도를 높임) 공유된 정보통신기기, 정보통신 설비, 소프트웨어 등 정보통신 자원을 이용자의 요구나 수요변화에 따라 정보통신망을 통해 유연하게 이용할 수 있도록 하는 정보처리체계
TTA
- 클라우드 컴퓨팅은 가상화된 정보 기술 자원을 서비스로 제공함으로써, 사용자는 IT 자원을 필요한 만큼 사용하고, 서비스 부하에 따라서 실시간 확장성을 지원받으며, 사용한 만큼 비용을 지불하는 컴퓨팅 기술
범주 모델에 따른 클라우드 유형
기존에 잘 구축되어 있지 않은 제조혁신에 적용하면 좋을거 같다.
인터넷, 컴퓨팅파워
운영체제란
- Operating System(OS). 시스템 하드웨어 자원과 소프트웨어 자원을 운영 관리 하는 프로그램
- Windows, Linux, MacOS, Android 등
운영체제가 없다면 크롬이랑 워드에 메모리전쟁, 운영체제가 없다면 SSD 접근 이런 세세한 부분까지 처리 해야 했어야 함
시스템콜
악성코드 분석 : Windows API 호출 되는 것을 확인해본다.
메모리 관리 기법(단편화 문제)
메모리가 연속적으로 할당되야 한다는 규칙이 있어서 연속된것처럼 가짜 메모리 주소를 만들어주는 (페이징)
메모리 공간을 일정 크기로 나누어(page) 가상 메모리와 물리 메모리를 맵핑하여 실제 비연속적 메모리를 연속적 메모리 공간으로 효율적으로 사용하게 하는 기법
스왑 영역을 내린다.
Swap 이란?
주기억장치의 용량, 즉 시스템에 메모리가 부족할 경우 데이터 손실이 일어나거나 프로세스가 기동할 수 없는, 프로세스의 동작에 문제가 생기는 경우를 사전에 방지하고자 보조기억장치인 하드디스크의 공간을 활용하여 메모리 역할을 할 수 있게 도와주는 영역을 Swap이라고 합니다
CPU란 무엇입니까?
수십억 개의 트랜지스터로 구성되는 CPU(중앙 처리 장치)는 여러 처리 코어를 가질 수 있으며, 일반적으로 컴퓨터의 '두뇌'라고 불립니다.
GPU란 무엇입니까?
그래픽 처리 장치(GPU)는 더 작고 특화된 코어를 많이 가지고 있습니다. 이러한 코어는 함께 작동하고, 여러 코어에 걸쳐 동시에(또는 병렬로) 처리 작업을 분할하여 뛰어난 성능을 제공합니다. 그래픽 처리 장치는 게임 플레이 중 비주얼 렌더링, 콘텐츠 제작 중 비디오 데이터 처리, 집약적인 AI 워크로드에서 컴퓨팅 결과와 같은 고도의 병렬 작업에 탁월합니다.
자원을 효율적으로 쓰기위에 스케쥴관리
컴퓨팅 자원을 어떻게 효율적으로 쓸지를 관리해야 하는 관점에서 나옴
1세대 : 완전 가상화
모든 시스템 자원을 소프트웨어로 구현하여 에뮬레이터(가상환경 제공 프로그램)안에서 실행되는 형태.
실행 속도가 매우 느림
Vmware
가상머신은 CPU 메모리가 없다
- 복잡도가 늘어나고 연관이 많이 되면서 문제가 발생함 재활용성이 안좋고 그에 반해서 효율적으로 나눠서 만들고자 한게 MSA
예를 들어 파이썬으로 AI 관련된것을 붙혔을때 MSA 로 한다면 파이썬 서버로 API만 호출한다면 조립하듯이 쉽게 개발 가능하기에 나눠서 개발을 하는 것을 MSA라고 한다
서버를 생각하지 않고 애플리케이션을 실행하는 시스템 아키텍쳐
- 서버로부터 자유로워지는 서버리스
도커
가상화 시키는 방식중 하나
도커 속도가 빠름
하이퍼바이저를 도커 엔진이 해주는데
경량화가 되어 있음 컨테이너화
필요한것만 구성되어 있음 경량화된 운영머신
예전에는 리눅스를 설치하게 된다면 전반적인 리눅스가 설치되었지만
지금은 필요한 부분만 설치를 해준다.
MEC
-엣지 컴퓨팅
기지국옆에 데이터를 받을 수 있는 부분에서 처리하는 것이 엣지 컴퓨팅
나눠쓰는 것이 Multi-Tenancy
On Demand : 주문형 서비스. 컴퓨팅 자원 필요 시 구축
클라우드 컴퓨팅 주요 용어
비 가역성 : Hash 함수를 생각하면 됨
가역성 : Reversibility 회수 할 수 있다고 생각하면 될 거 같다
보안 컨설팅을 위한 보안적 사고
전문적인 지식을 기반으로 한 컨설팅
인적보안
내부인력
고용계약
- 고용 계약서에 정보보호 정책 및 관련 법률을 준수하도록 하는 조항 또는 조건을 포힘시키고, 새로 채용하거나 합류한
근무인력이 클라우드 컴퓨팅 서비스의 설비, 자원, 자산에 접근이 허용되기 이전에 서명을 받아야 한다.
주요 직무자 지정 및 감독
- 클라우드 컴퓨팅 서비스의 시스템 운영 및 개발, 정보보호 등에 관련된 임직원의 경우 주요 직무자로 지정하여 관리하고, 직무지정 범위는 최소화 하여야 한다.
직무 분리
- 권한 오남용 등 내부 임직원의 고의적인 행위로 발생할 수 있는 잠재적인 위협을 줄이기 위하여 직무 분리 기준을 수립하고 적용하여야 한다.
비밀유지서약서
-정보보호와 개인정보보호 등을 위해 필요한 사항을 비밀유지 서약서에 정의하고 주기적으로 갱신하여야 한다.
퇴직 및 직무변경
- 임직원의 퇴직 또는 직무 변경에 관한 책임을 명시적으로 정의하고 수행하여야 한다.
또한 이에 대한 접근권한도 제거하여야 한다.
외부인력
외부인력계약
- 외부인력(외부유지보수 직원, 외부용역자 포함)에 의한 정보자산접근 등과 관련된 보안 요구사항을 계약에 반영하여야 한다.
외부인력보안 이행관리
- 계약서에 명시한 보안요구사항 준수 여부를 주기적으로 점검하고 위반사항이나 침해사고 발생 시 적절한 조치를 수행하여야한다.
계약 만료 시 보안
- 외부인력과의 계약 만료 시 자산 반납, 접근권한의 회수, 중요정보 파기, 업무 수행 시 알게 된 정보의 대한 비밀유지서약 등을 확인하여야 한다.
자산관리
위험관리
침해사고 관리
장애대응
준거성
물리적 보안
물리적 보호구역
가상화 보안
접근통제
네트워크 보안
데이터 보호 및 암호화
시스템 개발 및 도입 보안
소프트웨어 아키텍처란
소프트웨어의 효율성, 개발 및 유지보수 용이성을 향상하기 위해 소프트웨어를 구성하는 요소
결합도
모듈의 독립성을 판단하는 지표로 결합도가 높을 수록 모듈 간의 의존도가 높음
낮은 결합도를 갖도록 설계되어야 한다.
시스템 구성해보기