인공지능
the simulation of human intelligence processes by computer system.
컴퓨터 시스템이 사람의 지적인 프로세스를 따라 하게끔 만드는 것.
AI > 머신러닝 > 딥러닝 (머신러닝 중 신경망을 기반으로 하고 있는 것)
빅데이터
정형화되지 않은 대규모 데이터. (DB는 정형화 되어 있다.). 탄산, 물, 색소, 향신료
머신러닝
빅데이터로부터 유의미한 가치를 뽑아내는 기술. 탄산음료가 나오는 디스펜서.
AI based Security
AI를 위협을 찾고 보안을 강화하는데 사용한다.
"Less human intervention. 사람의 개입을 최소화" 시키는 것이 궁극적인 목적이다.
트렌드
- end-point security : 엔드포인트(스마트폰, 태블릿 PC와 같은 디바이스) 보안. 계속해서 네트워크가 바뀐다.
- AI vs AI : 공격자들도 AI를 사용한다.
- privacy data control : 개인정보 컨트롤
- authentication
- automated security operation process : 보안 관련된 모든 절차들, 데이터를 수집하고 분석하고 보안 솔루션을 만들어내고 메커니즘 적용하고 배포하는 과정을 자동화
활용
- 인식 : 지문인식, 얼굴인식, 스캔을 통한 의료 진단 -> 사람보다 훌륭하다
- 판단 : 스팸, 추천콘텐츠 -> 완벽하지 않음. 스팸의 경우 semi-automated 방식을 사용한다. 사람의 개입이 필요.
- 예측
인식을 제외하고는 부족함이 있다.
AI security에서의 응용
- 위험 탐지 : 자체 알고리즘을 통해서 잠재적 위협을 감지
- 비정상 탐지 : 장치, 네트워크의 정상적인 동작을 학습을 해서 정상적인 패턴을 학습하고 비정상적인 행동을 자동으로 식별
ai를 활용한 악성 코드 탐지
새로운 시그니처가 발생할 때마다 전문가가 분석하고, 업데이트가 필요해 본질적으로 한계를 갖게 됨.
원리 : 데이터를 주면 악성 코드의 특성을 추출을 하고 (전문가가 1차적으로는 특성을 추출해서 줄 수도 있고 아니면은 기존에 정의되어 있는 특성에 기반해서 추출을 할 수도 있다) 알고리즘을 학습을 시킨다. 노이즈도 넣어 학습시킴으로써 변종화의 가능성이 있는 것들도 ai가 알아서 찾아낼 수 있게끔 만들어주는 게 ai 기반 말웨어 디텍션의 근본적인 목표.
fraud detection system
- 고객의 사용 패턴을 파악을 해서 ai로 분석을 해서 이상 거래인지 금융 사기인지 판단하는 시스템. 동작을 잘 한다.
AI 공격
- 데이터 중독 : 적대적 공격 중 하나. 학습 데이터를 오염시켜서 무조건 틀리도록, 모델 자체에 오류를 발생시킨다.
- 딥페이크 : 얼굴을 합성해서 악의적으로 사용한다.
- 위조지문 방지 기술
비정상 탐지
- 시계열 분석이 많이 사용된다. 시간적인 특성들을 이용해서 연속성 있는 특성들을 활용한 분석이 많이 사용된다.
- rnn이나 lstm이라고 하는 그런 시계열 기반의 분석을 많이 활용을 해서 비정상 상황을 탐지를 하게 된다.
- 예전에는 전문가의 경험에 기반한 휴리스틱 기법을 사용했다.
-> threshold만 정해주면 돼서 구현이 간단했다. 하지만 전문가에 의존해야 한다는 점이 치명적이다. - 이를 극복하기 위해 나온 것이 학습기반 딥러닝을 이용한 방법.
- 목표는
- False alarm 최소화
- 시스템 파라미터 촤적화
- 데이터 일반화
- 효율적인 처리 성능
- 설명 가능해야함 (Explainable distinction). 설명가능한 AI = XAI
특징 추출
- 학습 기반 방법론 중 가장 중요한 부분. 어떻게 정의해서 추출시켜 학습하느냐가 관건이다. 도메인 별로 특징을 다르게 추출해야 한다.
- 호스트 침입 탐지 상황에서의 특징 추출 : 실행 중인 프로세스 정보, 시스템 스케줄러 정보, 파일 디렉토리의 정보 등
- 네트워크 침입 탐지 상황에서의 특징 추출 : ip 주소, 위치 정보, 네트워크 트래픽 신호. 추출하는 방법에는 상태 보존형 패킷 검사를 할 수 있다. 그외에도 더 자세하게 내용을 보고 추출할 수도 있다.
데이터 전처리
- 지도학습 : 학습 데이터가 레이블링 되어 있고, 레이블링 된 경우가 다수인 경우.
- 비지도학습 : 데이터가 충분하지 않아서 우리가 정규성을 스스로 우리가 판단할 수 없는 경우
지도학습을 쓰는 경우
- rnn, lstm과 같은 시계열 네트워크를 사용한다.
예시 : 시계열 데이터들을 이용해 cpu의 활용도 이상을 감지하고 싶다. 시간에 따른 cpu 활용 데이터를 뽑아가지고 학습시켜서 현재 cpu 사용률이 anomaly한 상황인지 아닌지를 볼 수 있고, 예측도 할 수 있다.
비지도학습을 쓰는 경우
- One class SVM (단일 클래스 서포트 벡터 머신) : 이상이 없다고 가정하는 데이터들을 학습을 해서 분류 경계를 생성
- 랜덤 포레스트 : 고차원 데이터에서 적용할 수 있는 특성들을 트리 구조로 정리를 해서 데이터가 들어왔을 때 어디에 속하는지에 판단을 해주는 방법
그외의 방법
- 통계 메트릭스
- 적합도 테스트
- 밀도 기반 방법
어떤 문제가 어떤 도메인에 속하는지를 잘 정의를 해서 거기에 적합한 알고리즘을 선택해서 사용한다.
머신러닝의 문제점
- 오류 비용의 문제 : 잘못 분류하면 너무 크리티컬
- 머신러닝 알고리즘의 불투명성 (왜 되는지 설명할 수 없다.)
- 적대적 공격.
악성코드 탐지
악성코드 분류
- 행동 기반 분류 : Virus, Worm, PUP, Trojan
- 목적 기반 분류 : Downloader, Dropper, Launcher, Adware, Randsomware
머신러닝 기반 악성코드 탐지
- 퍼지 매칭 : 단순 일치가 아니라 거리 배치 유사도 개념들을 적용을 해서 어느 정도 threshold 안에서 유사하다라고 판단했을 때 분석을 한다.
- 특성 추출 자동화 : 전문가들의 추출에 의존하지 않고, 통계적 특성이나 비지도 학습을 통해서 추출한다. 비지도 학습을 통해서 사람이 간과했던 특성들을 추출될 수 있다.
- 적응성 : 머신러닝 기법을 사용하게 되면 악성 코드의 끊임없는 변화에 대해서 빠르게 대응 할 수가 있다
가장 중요한 것은 데이터 수집과 데이터의 특징 추출!
데이터 수집을 진행하기 위해서 고려해야 될 것
- 도메인 지식 : 악성 코드들에 대한 동작 형태에 대한 기본적인 이해
- 데이터 수집 프로세스 : 데이터를 어떻게 효과적으로 자동화해서 최대한 많이 수집할 수 있는지.
- 검증과 편향 : 데이터 편향성. 데이터가 균형 있게 수집이 되었는지에 대한 분석을 할 필요가 있다.
- 반복적인 테스팅
특성 분석
- 구조적 분석
- 정적 분석
- 동적 분석
- 디버깅
- dynamic measurement
데이터 선택
- 수동 선택 : 도메인 전문 지식, 데이터 통찰력
- 자동 선택 : 통계와 알고리즘
- 선택하지 않음 : 비지도 학습
이후 머신 러닝 기법 선택 후 학습시킨다!
네트워크 보안
네트워크 보안 위협
- 수동 공격 :감청, 도청과 같이 직접적인 상호작용을 일으키지 않고 정보 수집
- 능동 공격 :직접적 공격을 통해서 공격을 진행하는 방식
- Intrusion
- Spoofing
- Pivoting
- DoS
- Botnet
일단 여기까지.......
'ETC > 네트워크 보안' 카테고리의 다른 글
네트워크 보안 Ch.번외 (0) | 2023.04.10 |
---|---|
네트워크 보안 Ch.11 Software Security (1) | 2023.04.10 |
네트워크 보안 Ch.10 Software Security (0) | 2023.04.10 |
네트워크 보안 Ch.9 Network Security (1) | 2023.04.10 |
네트워크 보안 Ch.8 Network Security (0) | 2023.04.10 |