정보보호 정리

박승현·2023년 12월 9일
0

정보보호

목록 보기
10/11

Network

  • ARP level

    • ARP spoofing

      • ARP 단계(MAC주소를 속이는것)
      • 라우터인척하거나 서버인척해서 sniffing까지함
    • man in the middle attack

      • 위에서 B가 공격한 방법이 MIMA
    • Smurf attack

      • 원래 관리자가 서브넷 관리를 위해 만든 전체로 ping보내는 명령어를 공격자가 페킷의 SIP를 희생자의 ip로 설정해서 여러번(매우 많이) 실행하는것
    • Packet sniffing(MAC Flooding)

      • 허브, 스위치 나오면서 나온거
      • 허브는 연결된 모든 노드에게 보내고 스위치가 목적지한테만 보냄(이건 매핑 테이블을 통해 가능 이게 꽉차면 기존걸 지워야하고 매핑 테이블에 저장되어 있지 않으면 브로드케스트 해서 허브랑 결국 똑같아짐)
      • 공격자가 가짜 MAC주소를 만들어 저장하게 만드는 공격(그 후엔 허브처럼 변해서 페킷 훔치기 쉬워짐

  • TCP/IP level

    • IP spoofing

      • 출발지 ip(SIP)를 속이는 것(raw socket프로그래밍으로 속이기가 가능)
      • ip spoofing 때문에 dos, ddos, session hijacking이 가능
      • ingress/egress 필터로 막을 수 있음
        • egress가 밖으로 나가는 페킷을 관리하는거(굿 시티즌 필요해서 달성하기 어려움)
    • Session hijacking

      • ip 스푸핑에서는 공격자가 페킷을 가로채는것 까지는 불가능한데 여기선 가능함
      • 세션을 가로채서 공격자가 희생자인척 하고 서버에서 페킷을 보내는것
      • TCP 세션을 가로채려면 ISN을 알아야함(ip,port,key,time 들어감)
      • 세션 가로채서 sip에 희생자 ip를 넣어서 ip스푸핑 공격도 들어가는거고 희생자가 서버에게 페킷을 보내지 못하게 희생자를 다운 시키기고 싶으니까dos,ddos공격도 사용함
    • Injecting false routing information

      • 공격자가 라우터를 점령해서 라우팅 테이블을 망치는 공격
      • 요즘엔 라우터에 key값을 사용해서 메세지랑 같이 해쉬해서 보내면서 방어함
    • Port scan

      • 열려있는 포트(열려있으면 취약하니까)를 찾는 공격
      • TCP연결에서 사용하는 flag비트를 특정하게 설정하면 그에따른 응답이 오는데 이걸 이용
  • Firewall

    • 얘는 기본적으로 모든 페킷을 다 열어본 뒤 기준에 맞는거만 통과시키거나 방어하는거임
    • Stateful/Stateless
      • 연결의 상태를 기억하냐 안하냐의 차이, 일반적으로 stateful이 처리가 빠름, 보안적 측면에서는 떨어질수도 있음
      • stateful : 한 번의 허용된 연결이나 패킷이 있다면 해당 연결에서 발생하는 페킷도 허용하는 방식
    • DMZ : 서비스를 위한 웹서버와 보안이 중요한 DB를 방화벽의 다른 쪽에 두는 방식(웹서버가 DMZ에 있음)
      • 웹서버에서 DB로 가는건 서비스를 위해 필수적인데 위처럼 해두고 DB로 가는쪽은 PORT를 하나만 열어두면 보안이 쉬움
  • High Availability

    • 여기서 L4/L7 스위치 나옴
    • 방화벽이 여러개일때 스위치가 알맞은 방화벽으로 보내야함(ip,port로 XOR사용 xor은 순서 바뀌어도 동일해서 오고갈때 같은 방화벽 사용 가능)
    • 최근에는 위 방법으로 꼭 같은 방화벽 통과 아내도 되게함(커널 단계에서의 세션 동기화라고함)
    • 여기서 라우터 vs 스위치도 나옴
      • 스위치는 MAC주소 기반이고 라우터가 IP주소 기반(그래서 라우터를 통한 VRRP 로드 밸런싱이 나옴)
    • VRRP
      • 모든 라우터가 공통된 가상 IP를 가짐
      • 마스터가 먼저 가상 IP를 사용, 마스터는 주기적으로 슬레이브에게 자기가 살아있다는 메세지를 보냄
      • 살아있다는 메세지가 안오면 슬레이브가 마스터가 죽었다고 판단하고 가상 IP를 사용(마스터가 되는 것), 가용성 달성
        • 일반적으로 ping을 사용 db에서는 heartbeat
      • 당연히 슬레이브 중 그 다음 누가 마스터가 될지 선정하는 정책이 필요 이걸 Election process라고함)
      • 슬레이브가 쉬는게 맘에 만들면 가상 ip를 여러개 사용할 수 있음 서로가 서로의 마스터이자 슬레이브가 되는 것
    • 어떤 지점이 고장났을때 전체 서비스가 실행이 불가능 해지면 그 지점을 single point of failure라고 부름

      • 그걸 제거하기 위해 방화벽, db, 스위치 라우터 다 2개 이상씩두었는데 911때 그걸 한번에 날려버려서 아얘 똑같이 다른 지역에 2개를 만들어버림 -> Disaster Recovery Center, DR센터라고 부름
      • GSLB -> DR센터 중에서 한가한 서버의 주소를 리턴해줌 그때 TTL도 같이 보냄(TTL이 길면 성능 좋고 짧으면 고장에 잘 대응)
    • 가용성 확률 계산해보기

  • Intrusion Detection System

    • 이상탐지 시스템,
    • 위치, 알고리즘 각각 2개씩 총 4개의 조합이 있음
      • 위치 : network, host
      • 알고리즘 : signature, anomaly-based
      • network, signature를 일반적으로 많이 사용
    • True/False, Positive/Negative 구분할줄 알아야함
    • Snort
  • DDOS
    • botnet이라는 개념이랑 같이 나옴
      • bot master(공격자), bots(감염 피시), C&C서버(bot들을 관리하는 pc)
    • C&C서버에 bot들이 접속하게 해야함, 똑같은 도메인 네임 생성 알고리즘을 심어서 실행, 주기적으로 바꿈(추적이 어려워짐)
  • Intrusion Prevention System
    • IDS + FW(방화벽)의 개념
      • ISN를 중간에서 체크해서 ip spoofing을 하는지 안하는지 검사

Web

  • WEB Overview

    • http나옴, stateless다
    • Request, Reply 메세지 정도 보기
  • Web Shell

    • exe파일을(주로 shell을 실행하는 파일)을 서버가 저장하게 만듬(자소서 같은걸로 위장)
    • 공격자가 브라우저를 통해 위의 exe파일에 접속해 실행하면 공격 성공(위치를 다 알아야해서 어려움)
    • 디렉토리에 실행권한을 제거하거나 확장자명, 파일크기를 제한하는식으로 막아야함
    • 클라이언트에 저장, 서버에 같이 내면 쿠키를 사용하여 이전 연결의 정보를 사용가능함(이게 http에 state를 부여하는 역할)
    • 공격자가 쿠키를 가로채면 문제가 생기니까 쿠키의 원래 내용 value와 key를 concat해 해쉬를 씌워 T를 만들고 value에 T를 붙여 같이 보냄
  • Session management

    • 세션 토큰을 사용해서 사용자의 세션을 유지,관리 하는것
    • 위의 쿠키도 세션 토큰 중 하나고 여러 가지가 있음
    • 여기서 referer라는게 나옴(tcp해더에 클라이언트의 이전 접속 url을 추가해서 보낸것)
      • 세션 토큰은 아니고 비슷한 역할 가능
      • 서버는 이게 갑자기 바뀌는지 확인 가능하지만 공격자는 역으로 이걸로 클라이언트인척 가능
  • XSS(Cross Site Scripting)

    • 피해자가 클라이언트
    • Persistent(stored), non Persistent(reflected)가 있음
      • Persistent는 공격자가 글을 작성(서버에 저장)피해자가 글을 누르면 글에 포함된 악성 코드가 자동 실행
      • Non, persisten, 검색할때 악성 코드를 주소에 넣어서 검색하게 만들면 그 코드가 바로 실행될 수 있음
    • HTML sanitization해서 막아야함
    • Sanitization : 입력부분에서 유해한 부분을 제거하거나 미리 지정한 분자로 치환하게 하는 방법
  • CSRF

    • 피해자가 서버, 주로 위의 XSS와 같이 많이 사용함
    • XSS로 피해자한테 비밀번호 변경 명령을 실행한다고 가정
      • 비밀번호가 공격자가 지정한 것으로 바뀜
      • 공격자가 피해자의 id, 바꾼 비밀번호로 서버에 접속(만약 권한이 높은 피해자였다면 피해가 심각)
      • 만약 사이트 자체가 비밀번호를 바꿀때 기존 비밀번호도 입력하는 형태였다면 위 명령어에 기존 비밀번호도 들어가야하는 것이라 보안이 좋아짐
  • SQL Injection

    • 웹에서 로그인, 회원가입은 사용자가 빈칸에 입력한 값을 가지고 SQL쿼리문을 만들어 실행하는 건데
    • 빈칸에 악의적인 SQL명령어를 입력하면 이게 실행 되는것
    • SQL에서 --뒤가 가 주석처리되는걸 이용함
    • 이것도 Sanitization으로 막을 수 있다
  • Insecure Direct Object Reference

    • url주소를 찍어서 맞춰서 링크를 통해 접속하지 않는 것
    • 관리자 페이지 접속을 위해 admin, manager등의 단어를 많이 사용함, 그래서 관리자 페이지 접속할때는 특정 ip만 허락하는등의 정책 필요
  • Access Control for Administration

    • 위에거랑 이어지는 내용, 관리자 권한에 대해서 잘 관리해라 그런 내용임
  • Vulnerability Scanner

    • 웹의 취약점을 파악해주는 도구, 취약한 공격방법을 알려줌(양날의 검)
    • 수업에서는 쇼단으로 예시 보여줌

단어정리

  • OWSAP : 년마다 이슈였던 공격방식 순위 메기는 곳

  • SBOM(Software Bill of Materials) : 소프트웨어 만들때 구성요소를 정리해야한다

  • Dark Web, Tor, Onion Routing : Dark Web이 안좋은 사이트, 접속할때 추적을 피하기위해 p2p를 사용해 목적지 ip를 양파껍질처럼 계속 추가하는게 onion routing, 이걸 사용하기위해 쓰는 특별한 브라우저가 Tor

  • FDS(Fraud Detection System) : 신용카드 같은게 사용자가 평소 잘 안가는 곳에서 결제되면 의심하는 것

  • IT, ICT vs OT CPS(Cyber-Physical System). 이란 핵발전소 스턱스넷(stuxnet) : OT CPS가 물리적으로 관리하는 개념, 완벽한줄 알았는데 이란 저기서 USB꽂아버려서 거기있던 악성코드 감염됨

  • APT(Advanced Persistent Attack) : 긴 시간을 가지고 집요하게 공격하는 방식

  • 사회공학적 기법 : 사회적으로 사람을 이용하는 것

  • spear phising : 피싱 공격, 이메일이나 문자등

  • MITRE : MITRE회사가 만든 취약점이나 보안을 평가하는 프레임워크임

  • BCP (Business Contingency Plan) : 기업의 지속적인 운영을 보장하며 재난이나 위기 상황에서의 영향을 최소화하는 것

  • 제로트러스트 : 기존 보안은 외부에서 내부로 오는 것을 위주로 차단하고 했는데 이거는 내부에 있는 애들도 다 안믿어서 뭐 할때마다 검사하고 인증하는 거임

  • 제로데이 취약점 : 아직 방어방법이나 대응방안이 없는 취약점

  • 공급망 공격 : 공급망이 여러 회사를 거치니까 그 중에 하나를 공격하면 공급망 전체가 망가진다는 개념

  • SOAR(Security Orchestration, Automation and Response) : 보안 사건이 발생하면 기록하고, 이를 활용해 대응 프로세스를 자동화해 실행하자는 것
profile
KMU SW

0개의 댓글