프로그램 언어마다 개발하는 방식이 다 다르고, 변수명, 클래스명, 메소드명 등 표기법이 다르다는 것은 이해가 되지 않지만 분명 존재하며, 다양한 언어를 다루는 개발자들이 가장 힘들어 하는 부분 중 하나이다. 카멜(Camel) 표기법 (Camel case) 카멜(camel)은 낙타라는 의미를 가지고 있다. 한마디로 표기법이 낙타의 혹처럼 생겼다고 해서 이런 명칭을 지었다. 카멜 표기법을 대표적으로 채택한 언어는 자바(Java)진영이며 만약 자바 언어를 개발하는데 다른 표기법을 쓰는 사람이 있어서 물어보면 십중팔구 주언어가 다른 언어인 사람인 경우가 많다. int mathScore; public void getMathScore(int mathScore) { return mathScore; } 위 코드를 보면..
맥 어드레스(Mac Address) 혹은 맥 주소는 네트워크의 OSI 7 Layer에서 데이터 링크 계층에 존재하는 놈으로 네트워크 인터페이스에 할당되는 고유 식별자이다. 맥 주소는 쉽게 생각했을 때 하드웨어 제조업체 즉, 네트워크 하드웨어 제조업체에서 고유 번호를 부여하는 값으로 동일한 값이 존재하지 않는다. 많이들 착각하는 것이 컴퓨터 하나당 맥 어드레스가 고유할 수 있다 생각하는 것인데 맥어드레스는 여러개가 존재할 수 있다. 컴퓨터의 고유 주소가 아닌 컴퓨터 부품 중 하나인 네트워크 인터페이스 컨트롤러(NIC)의 고유 주소이기 때문이다. NIC는 컴퓨터 하나당 여러개를 가질 수 있기 때문에 당연히 한 컴퓨터는 여러개의 맥 어드레스를 가질 수 있다. 맥 어드레스 확인법 ipconfig -all 맥 주..
트로이목마 바이러스가 뭔지는 몰라도 대다수의 사람들은 트로이목마라는 것을 매우 잘 알고 있을 것이다. 빵형 브레드피트가 아킬레우스로 열연한 트로이(Troy)라는 영화에서도 상황이 매우 잘 묘사되기도 하며, 이 영화를 보지 않아도 그리스가 트로이를 함락 시키기 위해서 목마를 이용한 것을 알 것이다. 트로이를 공략하기 위해서 그리스는 10년동안 공격을 했지만 견고한 트로이는 함락 되지 않았고, 결국 목마안에 그리스 정예 군인 30명을 매복시켜 목마안에 있던 그리스 군인들로 인해서 트로이가 함락 된다. 이처럼 외부의 어떤 공격에도 흔들리지 않았던 트로이가 고작 30명의 그리스 군인으로 인해서 성문이 열리게 되고, 최종적으로 그리스에게 함락된 트로이 목마 일화는 견고한 방화벽을 뚫고 진입한 악성코드에 무력하게 ..
디지털 인질극, 랜섬웨어(Ransomware) 랜섬웨어에 대해서 잘 모르는 분들은 이전 포스팅 "디지털 인질극, 랜섬웨어"편을 한번 읽길 권유드리며 이번 포스팅은 랜섬웨어를 복구해주는 NMR 복구 프로그램에 대해서 설명하려 한다. 랜섬웨어(Ransomware)에 걸렸을 경우 대다수는 해커(Hacker)가 원하는 암호화폐를 지불하거나, 눈물을 머금고 컴퓨터를 포맷하는 케이스가 있을 것이다. 그러나 걸린 랜섬웨어가 익히 알려진 랜섬웨어일 경우 운이 좋을 경우 백신 프로그램처럼 전용 프로그램을 받아서 복구 할 수 있다. NMR(No More Ransom) 사이트의 캡쳐 화면 복구 가능 랜섬웨어 리스트 777 RansomAES_NI RansomAgent.iih RansomAlcatraz RansomAlpha R..
의도기반 네트워크의 개념 의도기반 네트워크(인텐트기반 네트워킹, Intent-Based Networking)는 네트워크를 구성하고 네트워크 문제에 대응하는 수동적인 프로세스를 대체하기 위해서 높은 수준의 인텔리전스를 적용하여 의도한 상태의 네트워크를 손쉽게 구성하는 네트워킹을 말한다. 예를 들어, 오후 3시에 화상 회의를 해야 되는 상황이 발생하거나 이벤트로 인해서 오전 9시에 대량의 사용자가 유입이 된다거나 이런 이벤트적인 상황 뿐만 아니라, 장기적으로 서비스의 구성을 변경하는 등 상황등을 Intent로 구성을 하게 된다. cisco, ibn 개념도 SDN과 NFV의 등장이 얼마 되지도 않은 것 같은데 이런 인프라가 구성이 되니 인공지능과 결합이 되고 최고 수준의 편리성과 신속함을 얻는 SW가 나오는 ..
악성 프로그램, 웜(Worm)의 개념우리가 흔히 웜(Worm)을 웜바이러스(Worm Virus)라고도 하는데 정확히 말해서 웜 바이러스는 다른 바이러스를 말한다. 바이러스(Virus)는 사실 감염을 시켜야 하는 프로그램이 있어야 되는 존재이다. 그러다보니 바이러스 라는 악성 프로그램은 다른 코드에 기생하여 감염을 시킨다. 그러나 웜은 바이러스와 다르다 웜은 독립적으로 만들어진 프로그램이며 자기 자신을 증식시킨다. 이것이 Virus와 Worm의 차이점이다. 또다른 차이점은 웜은 스스로 행위를 실행한다. 숙주가 필요없기 때문에 감염이 된 시스템에서 본인이 하고 싶은 행동을 하며, 다른 네트워크로 본인을 복제 시키려 한다. 웜의 공격 프로세스 마이크로소프트에서 제공하는 웜 감염 사례와 예방책을 다이어그램화한 ..
바이러스 명명 규칙 대부분 컴퓨터에는 안티 바이러스(Anti Virus) 프로그램이 깔려 있을 것이다. 정확히 말해서는 안티 멀웨어(Malware) 프로그램(V3나 알약 등)이 깔려 있을텐데 오랜기간 동안 백신 프로그램을 돌리지 않았다면, 악성 프로그램들이 검출 될 것이다. 악성 프로그램이라 하더라도 모두가 바이러스가 아니기 때문에, 웹브라우저에서 기생하여 광고 팝업이나 하는 간단한 애드웨어와 같은 프로그램도 검출이 되니 컴퓨터의 포맷 시기와 멀웨어의 개수는 꽤 높은 상관관계를 보여줄 것이다. source, https://blog.avast.com/how-malware-and-vulnerabilities-get-their-names 아무튼 이런 Anti Malware 프로그램을 실행하면 다양한 멀웨어명이..
스크립트 바이러스(Script Virus) 개념 스크립트 바이러스는 사용자가 악성 코드가 포함 된 백그라운드에서 실행되는 광고, 파일 또는 코드가 있는 페이지를 방문한 후 스크립트가 실행이 되는 바이러스이다. 바이러스 코드를 스크립트 언어(ASP, Java Script, Visual Basic Script, PHP 등)으로 작성하여 스크립트를 코드가 심어진 페이지에서 실행을 하며, 정상파일을 변경하고 프로그래밍된 인터넷 주소로 접속을 시도해 다른 악성코드들을 다운로드 및 실행하게 만들며 암호 유출용 악성코드의 전파와 실행을 보조하기도 한다. 스크립트 바이러스 감염 증상 사용자의 의도와 무관하게 브라우저의 홈페이지가 변경Windows 레지스트리 변경 (대다수의 사용자는 레지스트리에 대해서 모르기에 잡기가 ..
회선 교환(Circuit Switching)과 패킷 교환(Packet Switching)은 데이터를 전달하는 방식이며, 혹자는 패킷 교환이 회선 교환보다 무조건 좋다라고 말을 하는데(몇몇 블로그에서는...) 사실 소비자(혹은 사용자) 입장과 제공업체 입장의 차이가 다를 수 밖에 없는 방식이며, 서비스에 따라 교환하는 방식을 선택할 수 있는 차이가 있다. 회선 교환(Circuit Switching) 우선 회선 교환은 다이렉트로 교환을 해주는 방식이며 대표적인 예로 전화망을 생각하면 된다. 내가 누군가와 통화를 한다면, 그 사람과 나는 1:1로 연결을 하게 되며 이 연결에 어떤 누구도 침범을 할 수 없게 된다. 이와같이 여러개의 게이트웨이(Gateway, GW)와 라우터(Router) 중에 정해진 루트대로 ..
테스트 드라이버(Test Driver)와 스텁(Stub)은 비슷한 상황에서 사용되는 용어이지만, 이 둘을 제대로 구분하는 개발자는 흔치 않다. (물론 전문적인 테스터들은 다 알겠지만) 일반적으로 어떤 모듈을 만들었을 때 이 모듈을 테스트해야 되는 경우가 있다. 즉, 완성된 모듈을 호출하여 테스트를 해야 하는데 호출하는 녀석이 완벽히 만들어지지 않을 경우 이 호출하는 녀석을 임시로 만들어서 호출을 할 수 있다. 테스트 드라이버(Test Driver) 컴포넌트나 시스템을 제어하거나 호출하는 컴포넌트를 대체하는 소프트웨어 컴포넌트 또는 테스트 툴. 스텁(Stub) 골격만 있는 또는 특별한 목적의 소프트웨어 컴포넌트를 구현한 것. 스텁을 호출하거나 또는 스텁에 의존적인 컴포넌트를 개발하거나 테스트할 때 사용됨...