728x90
반응형

분류 전체보기 279

[Data Structure] 자료구조와 알고리즘

자료구조의 정의 - 정보의 구조를 이야기 하며, 주로 메모리 안에서 더 좋은 알고리즘 효율을 위해 수행되는 것을 의미합니다. - 데이터를 모으고 구조화하는 것입니다. - 데이터 보관 방법과 데이터에 관한 연산의 총체 - A way of concrete representations of data from the point of view of an implementer - queue, stack, linked list, heap, dictionary, tree etc. 데이터 타입이란? A collection of objects and a set of operations that act on those object. 알고리즘의 정의 어떤 문제를 풀기 위한 단계적 절차로 다음을 만족하는 명령어의 유한 집합입니..

[Dreamhack] Textbook-RSA 문제풀이

RSA 요약 적당한 소수 p, q를 찾습니다. N = pq 오일러 피함수 phi에 대해 phi(N) = (p-1)(q-1)입니다. 1 < e < phi(N) 를 만족하는 phi(N)와 서로소 e 찾습니다. (코드에서는 소수 0x10001로 강제지정) e * d mod phi(N) ≡ 1을 만족하는 d를 찾습니다. 코드에서는 인버스함수를 사용합니다. 평문 m의 암호화는 c≡m^e%N으로 합니다. 암호문 c의 해독은 m≡c^d%N으로 합니다. https://m.blog.naver.com/errorsoft666/221557573037 [보안/암호] RSA 암호화 복호화 (공개키 암호 시스템) blog.naver.com 문제에 주어진 코드는 다음과 같습니다. #!/usr/bin/python3 from Crypt..

[Dreamhack] ROT128 문제풀이

https://dreamhack.io/wargame/challenges/852/ ROT128 Description rot128.py는 flag.png 파일을 암호화하여 encfile로 저장하는 프로그램의 소스 코드입니다. (풀이자가 프로그램을 직접 실행할 수는 없습니다.) 주어진 encfile을 복호화하여 flag 파일 내용을 알 dreamhack.io rot128.py 파일은 다음과 같습니다. #!/usr/bin/env python3 hex_list = [(hex(i)[2:].zfill(2).upper()) for i in range(256)] with open('flag.png', 'rb') as f: plain_s = f.read() plain_list = [hex(i)[2:].zfill(2).up..

[Network] HTTP와 HTTPS의 특징과 차이점

- HTTP Hypter Text Transfer Protocol Hypertext인 HTML을 전송하기 위한 통신규약 암호화하지 않은 통신입니다. 통신 상대를 확인하지 않기 때문에 신뢰성이 떨어집니다. - HTTPS Hypter Text Transfer Protocol over Secure Socket Layer(또는 HTTP over TLS, HTTP over SSL, HTTP Secure) 암호화된 통신입니다. 통신 상대가 신뢰할 수 있는지 판별합니다. - SSL 암호화 기반 인터넷 보안 프로토콜 개인정보 보호, 인증, 데이터 무결성을 위해 개발 검색엔진 최적화의 기능도 있습니다. - TLS SSL에서 더 많은 개인정보 보호 및 보안 기능이 추가된 암호화된 프로토콜 SSL의 기능과 용도가 같기에 S..

[Network] 침입탐지시스템(IDS)과 침입방지시스템(IPS)

- 침입탐지시스템(IDS: Instrusion Detection System) 네트워크 또는 시스템에 대한 침입 행위를 감지하기 위해 사용되는 시스템 네트워크 트래픽을 모니터링하고, 알려진 공격 패턴이나 비정상적인 동작을 감지하여 보안 이벤트로 식별합니다. 실시간 트래픽 분석, 알림 메세지 생성 침입을 막지 않고, 탐지만 수행 호스트 기반(HIDS: Host-based IDS): 컴퓨터 시스템을 내부를 감시하고 분석하는 데 중점. 네트워크에 대한 침입탐지는 불가능. 스스로 공격 대상이 될 떄만 침입을 탐지하는 방식. (ex. 트로이목마, 논리폭탄, 백도어 탐지 등) 네트워크 기반(NIDS: Network-based IDS): 네트워크를 통해 전송되는 패킷 정보 수집 및 분석하여 침입 탐지. 공격당한 시스..

[Network] 방화벽(Firewall) 개념 및 동작원리

- 방화벽(Firewall) 서로 다른 보안레벨의 네트워크 경로 사이에 위치하며(방화벽에 트래픽을 집중시킴), 지나 다니는 트래픽을 보고 통과시킬지 말지(정책에 따라. 기본적으로 IP, Port를 봄.)를 결정합니다.(접근 제어) Proxy 방식, Packet Filtering, Stateful inspection - UTM, NGFW 대부분 요즘 방화박은 Stateful inspection 기반이고 네트워크 방화벽과 호스트 기반 방화벽의 두 가지 일반적인 유형으로 나뉩니다. 호스트 기반 방화벽(컴퓨터 방화벽): 개별 컴퓨터 또는 호스트 시스템에 설치 운영. 호스트가 외부 네트워크와 통신할 때만 네트워크 트래픽 분석 관리. 네트워크 내부의 다른 호스트에 직접 영향을 주지 않음. 네트워크 방화벽: 네트워크..

[Network] IGMP(Internet Group Management Protocol)

- IGMP(Internet Group Management Protocol) 여러 장치가 하나의 IP 주소를 공유하여 모두 동일한 데이터를 수신할 수 있도록 하는 프로토콜 IPv4를 사용하는 네트워크에서 멀티캐스팅을 설정하는데 사용되는 네트워크 계층 프로토콜 호스트와 인접한 라우터가 IP 네트워크에서 멀티캐스트 통신을 위해 사용하며 메시지/데이터 패킷을 효율적으로 전송하는 데 사용됩니다. 사용 분야: 비디오 스트리밍, 게임, Zoom, Webex와 같은 웹 회의 도구 등. - IGMP 작동방식 멀티캐스트 그룹 가입: 호스트(클라이언트)가 특정 멀티캐스트 그룹에 가입하고자 할 때, 호스트의 운영 체제는 IGMP 멤버십 레포트 메시지를 생성합니다. 이 메시지는 멀티캐스트 그룹의 IP 주소를 목적지로 하며, ..

[Network] ICMP 프로토콜

- ICMP 프로토콜(Internet Control Message Protocol, 인터넷 제어 메세지 프로토콜) OSI 7계층 모델에서 3계층에 속한 프로토콜 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 메세지를 전송받는 데 주로 쓰입니다. ping 명령어를 이용하여 상대방과 통신을 확인할 때 사용하는 프로토콜 프로토콜 구조의 Type과 Code를 통해 오류 메세지를 전송 받습니다. ICMP 메세지들은 프로토콜 번호 1번으로 IP packet에 암호화 되어있습니다. Type: ICMP Message의 타입을 나타냅니다.(ex. Destination Unreachable) Code: 더 구체적인 설명을 제공합니다.(ex. why the destination was unreachable) Checks..

[Network] 원격 접속 관련 프로토콜(Telnet과 SSH의 특징 및 차이점)

- 텔넷(Telnet) 원격 서버에 엑세스하는 데 사용되는 터미널 에뮬레이션 프로그램 컴퓨터에서 실행되는 간단한 명령줄 도구(Command line tool)(No graphical user interface) 마치 서버 앞에 앉아있는 것처럼 원격으로 서버에 명령을 보내고 해당 서버를 관리 할 수 있습니다. 텔넷을 사용하여 서버에 원격으로 연결할 때 키보드로 명령을 사용하여 서버에 수행할 작업을 알립니다. 라우터 및 스위치와 같은 다른 네트워크 장치를 관리하고 구성하는 데에도 사용합니다. 서버에서 포트가 열려있는지 닫혀있는지 확인하는 데도 사용할 수 있습니다. 모든 명령이 일반 텍스트(plain text)로 전송되어 암호화가 없습니다.(보안성 취약) 위와 같은 이유로 주로 인터넷이 아닌 근거리 통신망에서..

[Network] SMTP, POP3, IMAP

- SMTP(Simple Mail Transfer Protocol, 단순 전자우편 전송 규약) 이메일을 전송할 때 사용하는 송신 프로토콜(이메일을 편지라고 비유하면 SMTP는 편지를 전송하는 과정에서 사용되는 기술) 클라이언트로부터 서버에 이메일을 전달하는데 사용되고, 메일 서버 간 송신에도 사용되는 프로토콜 SMTP 서버: SMTP 프로토콜에 따라서 이메일 전달 과정을 처리해주는 이메일 서버. SMTP 서버는 이메일 클라이언트가 보낸 메일을 수신하여 다른 메일 서버로 전달해주는 역할.(우체국 같은 역할) SMTP 시스템 MUA(Mail User Agent): 사용자가 이메일을 작성하고 내려받을 수 있게하는 프로그램. ex) Gamil, Outlook MSA(Mail Submission Agent): M..

728x90
반응형