Computer Science 85

[HUFS/정보보안] #8 IoT 보안과 AI 보안, 침해대응과 포렌식, 사회 공학

IoT 보안과 AI 보안 IoT 보안 AI 보안 인공지능 자체의 취약점을 이용해 학습 과정에서 데이터에 오류가 존재하는 노이즈를 고의적으로 추가하는 회피 공격(= 데이터 변조 공격)이 있으며, 변조 공격을 학습 데이터에 포함해 훈련시키는 방법으로 대응한다 비슷하게 일부로 악의적인 데이터를 이용해 오작동을 일으키도록 하는 중독 공격(= 악의적 데이터 주입 공격)이 있으며, 사전 학습이나 우회하는 답변으로 대응한다 ex) 스캐터랩의 이루다에게 악의적 발언 훈련 인공지능에서 사용하는 데이터 자체를 탈취하는 전도 공격(= 데이터 추출 공격)은 수많은 쿼리를 넣고 산출된 결과를 분석해 인공지능에 사용된 데이터를 추출하는 방식으로, 질의 횟수를 조정하는 것으로 대응한다 나이브 베이즈 분류기를 활용해 스펨 메일을 탐..

[HUFS/정보보안] #7 전자상거래, 보안 시스템

전자상거래 전자상거래의 개념 전자상거래(e-commerce)란 인터넷 또는 컴퓨터 네트워크와 같은 전자 시스템을 통한 제품이나 용역의 매매로, TV 홈쇼핑/온라인 홈뱅킹/웹페이지를 통한 주문/인터넷 쇼핑 등이 해당한다 전자상거래의 성립 조건 네트워크상에서 상대방 및 자신에 대한 신분 확인 수단이 필요 거래 사실(거래 내역)의 공증할 수 있는 신뢰할 만한 제3자의 중재 전자지불 방식(과정)의 안정성을 보장하기 위한 방법 확보 이 때, 메시지 암호화 및 전자 서명을 제공하는 복합적 보안 시스템으로 공개키 기반 구조(PKI, Public Key Infrastructure)를 사용하는데, CA(인증 기관) 및 공인인증서 등의 인터넷상의 신분을 증명할 수단이 함께 필요하다 공인인증서란 공개키와 소유자를 연결하는 ..

[HUFS/정보보안] #6 인터넷 보안, 암호의 이해

인터넷 보안 DNS 인터넷에서 식별할 ID인 IP 주소가 숫자로만 되어있어 직관적이지 않아 이름을 붙인 형태 사용 ex) www.naver.com, www.hufs.ac.kr 이름을 IP 주소로 변환해주는 DNS 서버는 계층적으로 구성된 분산 데이터베이스로 관리된다 * 하나의 이름에 여러 개의 IP를 지정해 부하 분산 (특히 웹 서버의 경우) DNS 서버가 공격받는 경우 인터넷이 정상 작동해도 서비스가 마비될 수 있다 DDoS 공격: 과도한 트래픽을 발생시켜 루트 DNS 서버를 공격하는 경우 핑 메시지를 차단하거나 캐시를 통해 루트 DNS 트래픽을 감소시켜 대응, TLD 서버 공격은 대체제가 없어 위험 가로채기: DNS 패킷을 가로채거나 가짜 패킷을 보내는 경우 (구현이 어려워 거의 없음) DNS 구조에..

[HUFS/빅데이터] #5 데이터베이스

데이터베이스 이해하기 데이터베이스란 업무 처리를 위해 사용자들이 공용으로 사용하기 위해 통합, 저장된 운영 데이터의 집합이다 데이터베이스의 정의 통합된 데이터(Integrated Data): 하나의 주제에 따라 중복을 최소화한 데이터 저장된 데이터(Stored Data): 언제든지 이용할 수 있도록 저장된 데이터 집합 공용 데이터(Shared Data): 여러 사용자가 다수의 응용시스템을 공유하는 데이터 운영 데이터(Operational Data): 중복을 최소화하고 여러 사람이 공유함에 있어서 문제가 발생하지 않도록 관리를 필요로 하는 데이터의 집합 데이터베이스의 특징 계속적인 변화(Continuous Evolution): 항상 최신의 데이터로 유지 동시 공유(Concurrent Sharing): 여러..

[HUFS/빅데이터] #4 데이터 소스, 스크레이핑

데이터 포맷 설명 및 비교🔽 데이터 포맷 설명 및 비교 (XML, JSON, CSV) 각 포맷 장단점 및 비교 데이터 크기 : XML > JSON > CSV XML JSON CSV 장점 ‣ XML은 3가지 포맷중 가장 직관적이다. ‣ 메타 정보를 제공해서 정보 표현 이상의 효과를 가져올 수 있다. ‣ 모양과 규칙 자 loosie.tistory.com 크롤링(Crawling): 프로그램이 웹 사이트를 정기적으로 돌며 정보를 추출하는 기술로, 검색 엔진을 구현할 때 사용하는 크롤러는 웹 사이트의 링크를 타고 돌며 웹 사이트를 돌아다닌다 스크레이핑(Scraping): 웹 사이트에 있는 특정 정보를 추출하는 기술을 의미한다 BeautifulSoup로 스크레이핑하기🔽 파이썬 웹 크롤링 기초 (BeautifulSo..

[HUFS/정보보안] #5 코드 보안, 악성 코드

코드 보안 1. 버퍼 오버플로우 버퍼 오버플로우란 할당된 메모리(버퍼)를 초과하도록 데이터를 기록해 프로그램 장애를 일으키는 공격으로, 다른 메모리 영역을 침범해 프로그램의 비정상 종료를 일으킬 수 있다 * 버퍼 오버플로우에 취약한 함수를 쓰지 않고 최신 업데이트된 운영체제를 사용해 대처 2. 포맷 스트링 공격 포맷 스트링이란 C 언어의 출력 함수인 printf에서 쓰는 문자열이지만 출력 목적이 아닌 메모리 변경 목적으로 사용도 가능하기 때문에 메모리를 변조시킬 수도 있다 3. 메모리 해킹 메모리 해킹이란 프로그램의 동작에 직접 관여하지 않고 프로그램이 실행되는데 필요한 정보를 저장해둔 메모리를 조작하는 공격으로, 흔적이 남지 않아 인지하지 못하는 경우가 많다 * 메모리 주소에 저장되는 값을 암호화해서 ..

[HUFS/정보보안] #4 웹 보안

WEB / HTTP 비지속 연결 HTTP: non-persistent connection은 하나의 연결을 통해 하나의 리소스만 전송하며 여러 개의 파일 전송은 매번 연결/단절이 필요해 성능이 저하된다 지속 연결 HTTP: persistent connection은 하나의 연결을 통해 여러 개의 리소스를 전송할 수 있어 성능이 우수해 기본적으로 사용되는 방법이다 쿠키 / 웹 캐시(프록시) 쿠키(Cookie)는 대부분의 웹사이트에 지원되며, 사용자 인증 / 장바구니 / 사용자 세션 관리 등에 사용될 수 있지만 보안 상의 위협이 될 수도 있다 HTTP 응답으로 쿠키 헤더가 도착 > 사용자의 PC에 쿠키 저장 > 사용자가 다음 요청에 쿠키를 실어서 보냄 > 유효시간동안 서버는 DB에 쿠키 저장 웹 캐시(프록시)는..

[HUFS/정보보안] #3 네트워크 보안

네트워크의 계층 물리 계층: 실제로 컴퓨터와 연결하는 케이블 등의 물리적 연결 (CAT 6) 데이터 링크 계층: 두 포인트간 신뢰성 있는 전송을 보장 (MAC 주소, ip 주소) 네트워크 계층: 데이터의 위치 이동에 관련된 계층 (공인 ip / 사설 ip) 전송 계층: 데이터의 전송 방법에 관련된 계층 (TCP/UDP, 포트 번호 관리 등) TCP: 연결 지향형, 데이터 흐름 제어(순서 보장), 에러 제어 UDP: 빠르다는 것 외에는 큰 장점이 없어 화상 회의 서비스 등에만 사용 서비스 거부(DoS) 공격 TCP는 패킷의 순서 확인 ~ 손실 패킷 확인 ~ 재전송 요구 순으로 동작한다 Boink, Bonk, TearDrop 등 취약점 공격형은 시퀀스 번호를 속여 반복적으로 재요청해 시스템 자원을 고갈시키는..

[HUFS/빅데이터] #3 탐색적 데이터 분석, 데이터 시각화

탐색적 데이터 분석(EDA) EDA = 데이터를 분석하기 전, 그래프나 통계적 방법으로 자료를 직관적으로 바라보는 과정 데이터에 문제가 없는지 전체적으로 살펴보며 확인 head나 tail 부분을 확인, 추가적인 탐색 (이상치, 결측치 등을 확인) 데이터의 개별 속성 값이 예측한 범위와 분포를 갖는지 확인 속성 간의 관계에서 개별 속성에서 발견하지 못한 패턴 발견 (상관관계, 시각화) * 변수에 내재된 변동성(vatiation)과 변수들 간의 공변동(covariation) 파악 모델은 데이터의 패턴(= 공변동)을 추출하는 도구로, 한 변수의 값으로 다른 변수의 값을 예측/통제하거나 세부 요소들을 탐색할 수 있다 탐색적 데이터 분석 실습🔽 Titanic - Machine Learning from Disast..

[HUFS/정보보안] #2 시스템 보안

서버 운영체제 서버 운영체제: 윈도우 서버, 리눅스 서버 용도: 웹 서버, DB 서버, 메일 서버, 업무용 애플리케이션 서버 특징: 고성능, 고효율, 다양한 서비스, 보안, 가상화, 클러스터링 윈도우의 커널(Kernel)은 인터럽트 처리, 프로세스 / 메모리 / 파일 시스템 관리, 프로그래밍 인터페이스 제공 등 운영체제의 기본 기능을 제공한다 리눅스는 사용자가 응용프로그램에서 셸(Shell)을 통해 커널에 명령을 전송할 수 있다 시스템 보안과 관련된 기능 계정 관리: 사용자 인증을 위한 가장 기본적인 수단 (ID, PW) 세션 관리: 사용자와 시스템, 두 시스템 간의 활성화된 접속 접근 제어: 네트워크 안에서 다른 시스템으로부터 보호될 수 있는 접근 통제 권한 관리: 시스템 사용자의 권한과 정보 자산의 ..