1. 디지털 저작권 관리
> DRM; Digital Right Management
- 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록하는 디지털 콘텐츠 관리 및 보호 기술
> 디지털 저작권 관리의 흐름 및 구성요소
- 클리어링 하우스(clearing house) : 저작권에 대한 사용 권한, 라이선스 발급, 암호화된 키 관리, 사용량에 따른 결제 관리를 수행
1) 권한 정책
2) 라이선스
- 콘텐츠 소비자 : 콘텐츠를 구매해서 사용하는 주체
1) DRM 컨트롤러 - 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
2) 보안 컨테이너 - 콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안장치
- 콘텐츠 분배자 : 암호화된 콘텐츠를 유통하는 곳이나 사람
1) 유통 시스템
- 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
1) 패키저 - 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화 하는 프로그램
2) 콘텐츠
3) 메타데이터
> 디지털 저작권 관리의 기술요소
: 암호화 했으니까 키랑, 파일이 만들어지겠지! 또 식별 및 인증이 되겠지!
: 저작권이 표현되어 있어야고 크랙이 방지되어있어야지! 이에대한 정책을 관리하자~
- 암호화(Encryption) : 콘텐츠 및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술
- 키 관리(Key Management) : 콘텐츠를 암호화한 키에 대한 저장 및 분배 기술
- 암호화 파일 생성(Packager) : 콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술
- 식별 기술(Identification) : 콘텐츠에 대한 식별 체계 표현 기술
- 저작권 표현(Right Expression) : 라이선스의 내용 표현 기술
- 정책 관리(Policy Management) : 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술
- 크랙 방지(Tamper Resistance) : 크랙에 의한 콘텐츠 사용방지 기술
- 인증(Authentication) : 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술
2. Secure SDLC
> SecureSDLC
- SDLC에 보안 강화를 위한 프로세스를 포함한 것
> 소프트웨어 개발 보안요소(기무 리뷰(유튜버) > 기무가 인부방)
1. 기밀성
: 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용됨
: 정보가 전송 중에 노출되더라도 데이터를 읽을 수 없음
2. 무결성
: 시스템 내의 정보는 오직 인가된 사용자만 수정 가능
3. 가용성
: 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용 가능
4. 인증
: 시스템 내의 정보와 자원을 사용하려는 사용자가 합법적인 사용자인지를 확인하는 모든 행위
: 패스워드, 인증용 카드, 지문검사 등
5. 부인 방지
: 데이터를 송수신한 자가 송수신 사실을 부인할 수 없도록 증거 제공
> 시큐어 코딩(Secure Coding)
: 보안 요소들을 고려하며 코딩하는 것
3. 암호 알고리즘
> 암호알고리즘
- 중요 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법
- 암호화 방식
| - 양방향
| - 개인키
| - Stream 방식
| - Block 방식
| - 공개키
| - 단방향
| - HASH
> 개인키 암호화(Private Key Encryption) 기법
- 동일한 키로 데이터를 암호화하고 복호화
- = 대칭 암호 기법 = 단일키 암호화 기법
- 암복호화 속도가 빠름
- 관리해야할 키의 수가 많음
- 스트림 암호화 방식
: 평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화 하는 방식
: LFSR, RC4, TKIP
- 블록 암호화 방식
: 한 번에 하나의 데이터 블록을 암호화 하는 방식
: DES, SEED, AES, ARIA, IDEA, Skipjack
> 공개키 암호화(Public Key Encryption) 기법
- 암호화할 떄 사용하는 공개키는 공개하고, 복호화 할떄의 비밀키는 관리자가 비밀리에 관리
- 비대칭 암호 기법
- 관리해야 할 키의 수가 적음
- 암복호화 속도가 느림
- RSA, ECC 기법
> 양방향 알고리즘
- ARIA(Academy Research Institute Agency)
: 국가 정보원과 산학연협회가 개발한 블록 암호화 알고리즘
- DES(Data Encryption Standard)
: 미국 NBS에서 발표한 개인키 암호화 알고리즘
: 블록 크기는 56비트, 16회의 라운드를 수행
: DES를 3번적용하여 보안을 강화한 3DES도 있음
- AES(Advanced Encryption Standard)
: NIST에서 발표한 개인키 암호화 알고리즘
: DES의 한계를 느껴 NIST에서 공모한 후 발표
: 블록 크기는 128비트, 키 길이에 따라 AES-128, AES-192, AES-256로 나뉨
- RSA(Rivest Shamir Adleman)
: 1978년 MIT의 Rivest, Shamir, Adelman에 의해 제안된 공개키 암호화 알고리즘
: 큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만듦
- ECC(Elliptic Curve Cryptography)
: RSA 암호 방식의 대안으로 제안
: 이산 대수 문제를 타원곡선으로 옮겨 기밀성과 효율성을 높인 암호화 알고리즘
- IDEA(International Data Encryption Algorithm)
: 스위스의 라이와 메시가 1990년에 개발한 PES를 개선한 알고리즘
: 블록 크기는 64비트, 키 길이는 128비트
- Skipjack
: 국가 안전 보장국(NSA)에서 개발한 암호화 알고리즘
: 클리퍼 칩이라는 IC 칩에 내장
: 블록 크기는 64비트, 키 길이는 80비트
: 음성 통신 장비에 삽입되어 음성 데이터를 암호화함
- Tkip(Temporal Key Integrity Protocol)
: 무선랜 보안에 사용된 WEP을 보완한 데이터 보안 프로토콜로, 임시 키 무결성 프로토콜이라고 함
: WEP의 취약성을 보완하기 위해 암호 알고리즘의 입력 키 길이를 128비트로늘리고 패킷당 키 할당,
키 값 재설정 등 키 관리 방식을 개선
> 해시(Hash)
- 임의의길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것
- 해시 알고리즘을 해시 함수라고 부름
- 해시 함수로 변환된 값이나 키를 해시값, 해시키라고 부름
- 데이터의 암호화, 무결성 검증을 위해 사용될 뿐만 아니라 정보보호의 다양한 분야에서 활용
- 해시함수 종료
~ SHA
: 미국 국가안보국(NSA)이 설계하고 미국 국립표준 기술연구소(NIST)에 의해 발표
: 초기 개발된 SHA - 0 이후 SHA-1가 발표되었고, SHA-2라고 불리는 SHA-224, SHA-256, SHA-384, SHA-512가 발표됨
~ MD5(Message Digest Algorithm 5)
: MD4를 대체하기 위해 고안한 암호화 해시 함수
: 블록 크기가 512비트이며, 키 길이는 128 비트
4. 서비스 공격 유형
> 서비스 거부 공격 Dos; Denial of Service
- 대량의 데이터를 한 곳의 서버에 집중적으로 전송하여 서버의 정상적인 기능을 방해
- 공격 유형 : Ping of Death, SMURFING, SYN FLooding, TearDrop, LAND Atack, DDos공격
> Ping of Death
- 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 네트워크를 마비시키는 서비스 거부 공격 방법
> SMURFING
- IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보내 네트워크를 불능 상태로 만드는 공격 방법
> SYN Flooding
- TCP는 신뢰성 있는 전송을 위해 3-way-handshake를 거친 후 데이터를 전송하는데, 이를 의도적으로 중단시켜,
서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법
> TearDrop
- 데이터 송수신과정에서 패킷을 여러 개로 분할되어 전송할 때 분할 순서에 대해 Fragment Offset값을 함께 전송하는데,
이 Offset 값을 변경하여 수신측에서 패킷을 재조립할 경우 오류로 인한 과부화를 발생시켜 시스템을 다운되도록 함
> LAND Attack(Local Area Network Denial Attack)
- 패킷을 전송할 떄 송신 IP 주소와 수신 IP주소를 모두 공격 대상의 IP주소로 하여 공격 대상에게 전송
- 공격대상은 자신에게 무한히 응답
> DDos(Distributed Denial of Service, 분산 서비스 거부)공격
- 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 서비스 거부 공격을 수행
- 분산 서비스 공격용 툴
: Trin00 - 가장 초기 형태의 데몬, UDP Flooding 공격 수행
: TFN - UDP Flooding, TCP SYN Flood, ICMP응답요청, 스머핑 공격 등 수행
: TFN2K - TFN의 확장판
: Stacheldraht - 이전 툴들의 기능을 유지하면서, 공격자 , 마스터, 에이전트가 쉽게 노출되지 않도록 암호화된 통신 수행
- 자동 업데이트
> 네트워크 침해 공격 용어
- 세션 하이재킹
: 상호 인증 과정을 거친 후 접속해 있는 서버와 서로 접속되어 있는 클라이언트 사이의 세션 정보를 가로채는 공격 기법
: TCP 3-Way-Handshake 과정에 끼어들어 클라이언트와 서버 간의 동기화된 시퀀스 번호를 가로채
서버에 무단으로 접근하는 TCP 세션 하이재킹이 대표적
- ARP 스푸핑(ARP Spoofing)
: ARP의 취약점을 이용한 공격 기법
: 자신의 물리주소(mac)을 공격대상의 것으로 변조하여 공격 대상에게 도달해야 하는 데이터 패킷을 가로채거나 방해
- 스미싱(Smishing)
: 문자메시지를 이용해 개인 신용 정보를 빼내는 수법
- 사회 공학(Social Engineering)
: 인간 상호 작용은 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨트리기 위한 비기술적 시스템 침입 수단
- 다크 데이터(Dark Data)
: 특정 목적을 가지고 데이터를 수집하였으나, 활용되지 않고 저장만 되어있는 대량의 데이터
- 타이포스쿼팅(Typosquatting)
: 주소를 잘못 입력하거나 철자를 빠트리는 실수를 이용하기 위해 이와 유사한 유명 도메인을 미리 등록
: URL 하이재킹이라고도 함
- APT(Advanced Persistent Threats, 지능형 지속 위협)
: 다양한 IT기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤
때를 기다리면서 보안을 무력화시키고 정보를 수집한 다음 외부로 빼돌리는 형태
: 내부자에게 악성코드가 포함된 이메일을 꾸준히 발송해 한 번이라도 클릭되길 기다리는 형태
: 스턱스넷과 같이 악성코드가 담긴 이동식 디스크 등으로 전파하는 형태
: 악성코드에 감염된 P2P 사이트에 접속하면 악성코드에 감염되는 형태
- 스니핑(Sniffing)
: 네트워크의 중간에서 남의 패킷 정보를 도청하는 해킹 유형, 수동적 공격에 해당
> 정보 보안 침해 공격 관련 용어
- 워터링 홀(watering Hole)
: 목표 조직이 자주 방문하는 웹사이트를 사전에 감염시켜 목표 조직이 접근시 악성코드에 감염되게 하는 웹기반 공격
- 웜(Worm)
: 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높여 시스템을 다운시킴
: 분산 서비스 거부 공격, 버퍼 오버플로 공격, 슬래머 등이 웜 공격의 형태
- 키로거 공격(Key Logger Attack)
: 컴퓨터 사용자의 키보드 움직임을 탐지해 개인 정보를 몰래 빼가는 공격
- 랜섬웨어(Ransomware)
: 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 함
: 암호 해독용 프로그램의 전달을 조건으로 금전 요구
- 백도어(Back Door, Trap Door)
: 시스템 설계자가 서비스 기술자나 유지 보수 프로그램 작성자의 액세스 편의를 위해 시스템 보안을 제거하여 만든 비밀통로
: 무결성 검사, 열린 포트 확인, 로그 분석, SetUID 파일 검사 등을 통해 백도어 탐지
- 트로이 목마(Trojan Horse)
: 정상적 기능을 하는 프로그램으로 위장하여 숨어있다가 프로그램이 동작할 때 활성화되어 부작용을 일으킴
: 자기 복제 능력은 없음
- Rootkit
: 시스템에 침입한 후 침입 사실을 숨긴 채 백도어, 트로이목마를 설치하고, 원격 접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등
불법적인 해킹에 사용되는 기능들을 제공하는 프로그램들의 모음
: 컴퓨터 운영체제에서 실행 파일과 실행 중인 프로세스를 숨겨 운영체제 검사 및 백심 프로그램의 탐지를 피할 수 있음
5. 서버 인증
> 보안서버
- 개인정보를 암호화 하여 송수신 할 수 있는 기능을 갖춘 서버
> 인증 유형
- 지식 기반 인증
- 소유 기반 인증
- 생체 기반 인증
- 위치 기반 인증
- 기타 인증
> 지식 기반 인증
- 사용자가 기억하고 있는 정보를 기반으로 인증을 수행
- 고정된 패스워드, 패스 프레이즈, 아이핀
> 소유 기반 인증
- 사용자가 소유하고 있는 것을 기반으로 인증
- 신분증, 메모리 카드(토큰), 스마트 카드, OTP 등
> 생체 기반 인증
- 사용자의 고유한 생체 정보를 기반으로 인증
: 지문, 홍채/망막, 얼굴, 음성, 정맥 등
> 기타 인증
- 행위 기반 인증 : 사용자의 행동 정보를 이용해 인증(서명, 동작)
- 위치 기반 인증 : 인증을 시도하는 위치의 적절성 확인(콜백, GPS, IP주소 등)
6. 보안 솔루션
> 보안 솔루션
- 외부로부터의 불법적인 침입을 막는 기술 및 시스템
> 방화벽(Firewall)
- 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 기능을 가진 침입 차단 시스템
> 침입 탐지 시스템(IDS, Intrusion Detection System)
- 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템
> 침입 방지 시스템(IPS; Intrusion Prevention System)
- 비정상적인 트래픽을 능동적으로 차단하고 격리하는 보안솔루션
> 데이터 유출 방지(DLP; Data Leakage/Loss Prevention)
- 내부 정보의 외부 유출을 방지하는 솔루션
> 웹 방화벽(Web Firewall)
- 웹 기반 공격을 방어할 목적으로 만들어진 웹서버에 특화된 방화벽
> VPN(Virtual Private Network, 가상 사설 통신망)
- 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션
> NAC(Network Access Control)
- 네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록한 후 일관된 보안 관리 기능을 제공
> SIEM(Security Information and Evnet Management)
- 로그 및 보안 이벤트를 통합하여 관리하는 보안 솔루션
> SSH(Secure Shell)
- 다른 컴퓨터에 여러 작업을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜, 응용프로그램임
- 데이터 암호화와 강력한 인증 방법으로 보안성이 낮은 네트워크에서도 안전하게 통신 가능
- 키를 통한 인증 방법을 사용하려면 사전에 클라이언트의 공개키를 서버에 등록해야함
- 기본적으로 22번 포트 사용
> 템퍼 프루핑(Tamper Proofing)
- 소프트웨어의 위변조가 발생할 경우 소프트웨어를 오작동하게 만들어 악용을 방지
> OAuth(Open Authorization, 공개 인증)
- 인터넷 애플리케이션에서 사용자 인증에 사용되는 표준 인증 방법
- 공개 API로 구현되어있음
- 비밀번호를 제공하지 않고 접근권한을 부여할 수 있음