2008년 12월 31일 수요일

sp_replwritetovarbin 확장 저장 프로시저(Extended Stored Procedure) 취약점

SQL Server 의 기능중에 하나인 확장 저장 프로시져중 sp_replwritetovarbin 에서 오버플로우 취약점 으로 인한 원격 코드 실행 가능성이 있다고 합니다.

자세한 사항은, 다음 문서를 참고해 보시기 바랍니다.

http://www.microsoft.com/technet/security/advisory/961040.mspx
http://blogs.technet.com/swi/archive/2008/12/22/more-information-about-the-sql-stored-procedure-vulnerability.aspx

임시 해결책으로는, 해당 프로시져를 disable 하거나  권한을 변경 하라고 하는데요. 이러한 프로시져가 쉽게 실행이 가능한(직간접적으로 쉽게 접근이 가능한....) 상태로 서버가 운영되고 있다는 점이 더욱 큰 문제 인것 같습니다.

이를테면, SQL Injection 인데요. 물론 SQL Injection 을 당해서 해당 DB 만 레코드가 위변조 되면 코드 수준의 문제이지만, sa 계정 같은 권한 상태로 운영되는 경우 서버 전체가 침해사고가 발생하다는 점일것 입니다.

앞서 그런한 상태의 서버는,.
sa 나 그와 같은 권한을 너무나 쉽게 사용하고 공개? 한다는 점이겠지요.

2008년 12월 30일 화요일

SQL Server 백업후 압축, FTP 전송

SQL Server 2000/2005: Automated Database Backups and Restorations
http://www.codeproject.com/KB/database/assiduous.aspx

Enterprise Manager 나, SQL Server 2005 에서의 Management Studio 에서 가능한 유지관리 작업인데,. 위 예제의 경우,. Winzip 으로 압축을 하고 추가로 FTP 로 전송까지 하는 방법을 설명.

물론,. xp_cmdshell 를 사용하므로써 가능한 일. ^^

2008년 12월 25일 목요일

닷넷에서 Oracle Database 연결

오라클의 기술문서중에 한개로,.

오라클 데이타베이스 기반 .NET 애플리케이션의 구축
http://www.oracle.com/technology/global/kr/pub/articles/cook_dotnet.html


닷넷에서, Oracle Database 를 이용하는 예제.
Oracle.DataAccess.dll 를 참조하는 것과, Oracle 만의  기본적인 Connection 설정외,.
나머지는 ADO.NET 과 같음....

Linux, iSCSI 환경에서 Oracle RAC 10g Release 2 클러스터 설치하기

오라클의 기술문서 중에 한개
http://www.oracle.com/technology/global/kr/pub/articles/hunter_rac10gr2_iscsi.html


Oracle 의 클러스터 기술인 RAC 구현을, 실제 장비로 구현해 보기에는 현실적으로 어려움이 있어서 소프트웨어 기반 iSCSI Target 을 이용해서 구현을 하는 방법 소개.

Windows Server 2008 Service Pack 2 Beta 한글 다운로드 가능



Windows Server 2008 Service Pack 2 Beta 버젼이, 주요국 언외에 한국어등 몇개 언어가 추가로 배포되고 있는 중입니다.

아시다 시피??,.
Windows Server 2008 / Vista 부터는 Service Pack 를 각각 배포하지 않고 하나의 패키지에 모두 포함되어 있습니다.

x86(32bit)
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=dca54ecc-362a-4b4d-b62b-22780e839a7e

x64(64bit)
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=361d0ca3-4b2c-4f1c-8b3e-de376fdb1de8

C#, Path.ChangeExtension Method

파일 확장자만 변경이 필요할때,. 확장자를 쉽게 얻을수 있는 Method.
http://msdn.microsoft.com/en-us/library/system.io.path.changeextension.aspx 

그런데,. Path 클래스의 단점...
경로상의 마지막 문자열을 무조건 파일로 인식한다는 점...;;;;;;

FileInfo 를 써서 확장자를 알아 내는 것도 좋지만,. 간단한 작업에선,,..
Path 클래스를 쓰는것도 좋은 방법인듯...;;;;

DirectoryInfo df = new DirectoryInfo(@"D:\");
foreach(DirectoryInfo sf in df.GetDirectories())
{
 foreach (FileInfo f in sf.GetFiles())
 { 
     if (f.Extension == ".txt")
     {
       string result = Path.ChangeExtension(f.FullName, ".log");
       f.MoveTo(result);
       Console.WriteLine(f.FullName);
     }
 }
}

C# - CSV Import Export

http://www.codeproject.com/KB/database/Cs_CSV_import_export.aspx

직접 텍스트를 파싱한게 아니라,.
ADO.NET (ODBC/OleDB Dirver) 를 이용했다는게 흥미로움..??....

Asynchronous Registry Notification Using Strongly-typed WMI Classes in .NET

http://www.codeproject.com/KB/system/WMI_RegistryMonitor.aspx

특정 레지스트리 위치의 수정 에 대한 이벤트를 Win32 라이브러리를 .NET wrapper (http://www.codeproject.com/KB/system/registrymonitor.aspx?display=PrintAll) 를 이용해서 이벤트를 얻을수 있긴 하지만,. 다소 제한 적...

위 예제의 경우에는,. WMI 의 RegistryKeyChangeEvent 클래스에 대한 WqlEventQuery 를 이용해서 이벤트를 얻을수가 있고,.. Win32 라이브러리 보다 약간 쫌... 더 다양한 이벤트를 얻을수 있음...^^

Simple Ping Utility with GUI

http://www.codeproject.com/KB/IP/SimplePingUtilityWithGUI.aspx

오훗.! 괜찮은 유틸,...

소스도 함께 공개되어 있으므로, 현재는 xml 에서 Ping 체크 리스트를 가져 오는데, 서버가 많거나 또는 별도의 DB 기반 관리 시스템이 있다면 해당 DB에서 체크하는 목록을 가져오도록 개선해서 이용해 보는 것도 좋을듯.^^

Send Emails in ASP.NET, SmtpClient Credentials

Google 에서는 SMTP 를 제공하기 때문에,. 그걸 이용하는 ASP.NET C# 예제.
http://www.codeproject.com/KB/aspnet/aspnetemailusinggmail.aspx

예제 코드에서는,. 원격지 SMTP 인증에 관한것.

2008년 12월 24일 수요일

Riva FLV Encoder , 프리웨어 FLV 인코더

http://rivavx.de/index.php?encoder&L=3

쓸일이 잠깐 있어서 찾아 봤는데,.
이런거 Free 로 배포되는게 별로 흔하지 않은것 같네요.

차이는 있겠지만,.
뭐 요즘,. 국내 동영상 포털 부터 해서 유튜브, SoapBox 등 보통의 동영상 파일 업로드 하면 플래시무비 파일로 변환이 자동으로 되기도 하고..^^

아참,. 이런 파일을 웹서버에 올려놓고 호스팅 한다면, IIS 7 에 추가 모듈로 가능한 Media Pack (http://www.wssplex.net/Tools/UsefulTools.aspx?Seq=69) 이용을 해보는 것도 좋은 생각?..^^

Server.Transfer 와 Context.Handler

닷넷 1.1 에서는,.
부모 페이지 클래스에 대한 개체 인스턴스를 통해서 접근을 했는데,.

wssplex.a _a = (wssplex.a) Context.Handler;

닷넷 2.0 에서는
Context.Items 을 이용해서 겁내 쉽게 접근이 가능하네효.^^

Passing values between two IHttpHandlers within the same HttpContext
http://blogs.msdn.com/csano/archive/2005/12/14/503758.aspx

Programmatically Manage IIS

http://www.codeproject.com/KB/server-management/DirectoryServicesIIS.aspx

IIS 5/6 은 System.DirectoryServices 네임스페이스 나,. COM 개체를 이용하면 되고,.
IIS 7 은 http://www.wssplex.net/TipnTech.aspx?Seq=239 처럼,
제어가 가능한 별도의 네임스페이스를 라이브러리를 제공해 주고 있긴 하나,.........

좀더 쉽게 사용할수 있도록 자기만의 프레임워크 를 만들어 놓은듯...^^

Simple Reverse Proxy in C# 2.0

http://www.codeproject.com/KB/IP/SimpleReverseProxy.aspx

이거 어떻게 보면, 괜찮은 아이디어고,.. 또 어떻게 보면....
별 쓸때 없는 것 같고.....^^

그건 있을것 같음..
다중 도메인에서 처리가 되는 요청이라면,..
Client 입장에서는,. 웹요청을 하나의 도메인에서 모두 처리가 가능하다는것...

An FTP secure client library for C#

http://www.codeproject.com/KB/IP/FTP_Secure.aspx

C# 으로, FTP Client 를 구현하는 소스 인데,.
SSL 을 지원하는 Ftp Server 에 접속할 때...

nix 기반 FTP 나, 상용 또는 그와 비슷한 기능을 갖는 FTP Server 프로그램에서는 SSL 을 이미 지원하고 있으나, 늦은 감이 없지 않아 있지만,.

IIS FTP의 경우, 기존 6 까지는 SSL 적용을 지원하지 않았으나,.
IIS 7 부터는 SSL 적용이 지원 되므로 써먹을수 있을듯... ^^

Switching Between HTTP and HTTPS Automatically

http://www.codeproject.com/KB/web-security/WebPageSecurity_v2.aspx

흠;;;, 괜찮은 아이디어..^^

일반적으로, SSL 적용을 할때 개인정보, 금융정보등의 트래픽이 왔다리 갔다리 하는 꼭 필요한 페이지만 하면 되긴 한데,. 그걸 적용할려면 웹페이지 링크 수정등 페이지가 많은 사이트의 경우 완죤 노가다. -_-;;

왜?.... 특정 페이지만, https:// 를 걸면 되지 않냐? 싶겠지만,.

사이트 내부 링크는 보통 도메인 까지 쓰지 않는 /Path/ 형식의 상대 경로를 사용하기 때문에 특정 페이지에서 Https:// 로 진입후에 다시 SSL이 필요 없는 페이지로 갈때,.

그런 상황에서, 링크된 모든 곳을 일일히 https:// 가 아닌 http:// 로 링크를 걸어야 하는 수고스러움이 있는게 사실.. 물론,. 걍 니멋대로.... 라면 아무런 도움이 되지 않을 내용. ^^

Step-by-Step SQL Mirroring the ASPState Database

http://www.codeproject.com/KB/database/sqlmirroring.aspx  

요건,. 세션을 DB에 저장하는 경우와 관련된 포스트,.

SQL Server 2005 부터 지원하는 데이터베이스 미러링 설정된 상태에서의 web.config 에서의 세션정보 설정과, Failover 시에 작동과 관련한 내용.

세션정보가 매우 중요한 경우가 아니면,. 일반적으로, 작업자 프로세스에 저장되는데, 작업자 프로세스에도 영향을 받지 않게 할려면, ASP.NET State Service 에 세션정보를 저장해도 크게는 무리 없음...

물론, 웹서버 자체가 죽으면,. ASP.NET State Service 에 독립적으로 저장된 세션 정보도 의미는 없게 되지만...ㅋ

2008년 12월 19일 금요일

ADO(MySQL ODBC) 에서의 CursorLocation=3 관련 메모리 문제

Asp(Vbscript) 는 해본적이 너무 오래되서, 잊고 있었던 내용 입니다. (요즘엔 닷넷만 해서.....) ADO 에서의 커서를 생성하는 위치를 지정하는 CursorLocation 에 관련되어 메모리 문제 입니다.

CursorLocation 은 ADO 에서, 레코드셋을 만들기 위해서 커서의 생성 위치를 어디에 두느냐? 라는 것을 지정해 줄수 있는 옵션 입니다. 물론 지정하지 않으면 기본값이 Server 측인데,. 즉 DB 서버 라는 얘기 입니다.

CursorLocationEnum
http://msdn.microsoft.com/en-us/library/ms677542(VS.85).aspx

문제는. CursorLocation=3 으로 클라이언트 측에 둘때의 문제 입니다.

물론 클라이언측에 두었을 때의 잇점이 많이 있기 때문에 사용하는 것도 있지만,. 쿼리문에서 사용되는 테이블의 레코드 갯수가 적을 때에는 문제를 느끼기 어렵고, 대량의 레코드를 갖고 있는 경우에 문제가 됩니다.

특히,. 집계 함수를 사용하는 경우인데, 이때 커서 위치가 클라이언측에 있는 경우, 이를 테면 웹서버에 두는 경우 웹프로세스(작업자프로세스)에 메모리 점유가 상당하는 점 입니다. (운영하는 서버에서는 단 5분 만에 500M 를 초과 하며, 해당 테이블의 레코드 갯수가 20만개가 넘습니다.)

이러한 비정상적인 메모리 점유에 대한 내용을 확인하던 중에, 꾀 흥미로운 점을 발견 했습니다. 즉 ODBC 드라이버에서 MySQL 에 던지는 쿼리 형태 입니다.

081218  4:41:12   46781 Connect     wssplex@xxx.xxx.xxxx.xxx on wssplex
          46781 Query       SET SQL_AUTO_IS_NULL = 0
          46781 Query       select database()
          46781 Query       select database()
          46781 Query       SELECT @@tx_isolation
          46781 Query       select count(distinct(컬럼)) c from 테이블 where 컬럼 = '값'
081218  4:41:13   46781 Query       SELECT * FROM 테이블
081218  4:41:34   46781 Query       select database()

위에 보이는 것처럼, select * 를 하여 테이블을 통째로 쿼리 한다는 점입니다. 이 통째 쿼리한 결과는 웹서버측에 반환되고, 이것을 받은 웹프로세스는 메모리가 급격하게 증가 합니다.

잠시 동안은 이러한 쿼리가 DB 측에 날라 간다는 점을 알지 못하였고,. 위 쿼리를 사용한 웹페이지를 아무리 확인해 봐도 메모리 점유를 할만한 부분이 있지 않았습니다.

물론,. 위의 이러한 점을 확인하기 위해서 정확하게 웹서버측에서 전달되는 것을 확인하기 위해서 패킷 캡쳐를 하여 문자열을 확인해 보기도 하였습니다.

..C..B..#.$h..E..\..@...-....L...J....A.....-.P..j.k..0....
select count(distinct(컬럼)) c from 테이블 where 컬럼 = '값'
IP (tos 0x0, ttl 128, id 54945, offset 0, flags [DF], proto 6, length: 65) xxx.xxx.xxx.xxx.4299 > xxx.xxx.xxx.xxx.3306: P [tcp sum ok] 3716:3741(25) ack 2161 win 65061
..C..B..#.$h..E..A..@...-....L...J....A..%...*P..%.........
SELECT * FROM 테이블

이런식의 쿼리가 되는 것은,. CursorLocation 을 클라이언트 측에 두었기 때문 입니다.

그러나 MSSQL 의 경우에도 이런식의 쿼리 형태 인지는 확인해 보지 않았습니다. 만약 MySQL 에서만 그랬다면 MySQL 의 특성이거나 MyODBC 드라이버 문제이지 않을까도 생각해 봅니다. 모든 DB에서의 동일한 현상이라면 ADO 의 작동 방식일수도 있겠고... (*혹시 아시는 분은 댓글 부탁드려요.^^)

CursorTypes, LockTypes, and CursorLocations
http://dev.mysql.com/tech-resources/articles/vb-cursors-and-locks.html

물론, 커서 위치를 단순하게 서버측이냐, 클라이언트냐 의 문제 보다는 데이터를 어떻게 이용하는 방법에 따라서 불가피하게 특정 커서 위치를 선택해야 하는 경우도 있을것 입니다.

2008년 12월 17일 수요일

Microsoft SQL Server 2005 서비스 팩 3 다운로드 가능

12월 15일 자로, SQL Server 2005 의 서비스 팩 3의 다운로드가 가능한 상태 입니다. 기존에 나왔던 패치, 업데이트와 몇몇 항목이 개선이 되었다고 합니다.



서비스 팩 3 다운로드:
http://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4&DisplayLang=ko

SQL Server 2005 SP3의 새로운 기능
http://msdn.microsoft.com/ko-kr/library/dd353312(SQL.90).aspx

설치를 하기전에 현재 운영되는 환경에서의 SP3 적용에 문제는 없는지, 함께 공개된 릴리즈 문서를 검토하는것이 좋을것 같습니다. ^^

2008년 12월 15일 월요일

Internet Explorer 의 원격 코드 실행 zero-day 취약점 - 961051

Internet Explorer 의 zero-day 취약점 공격에 대해 정보를 알려드립니다.
이번 문제는 Internet Explorer 5.01, 6, 7, 8(베타)에 모두 해당됩니다.

OS로 구분하면 Windows 2000/XP/Vista, Windows Server 2003/2008이 해당됩니다.

페이지가 수시로 수정되고 번역 시간이 있기 때문에 영어 페이지에 더 최신 정보가 유지됩니다.

http://www.microsoft.com/technet/security/advisory/961051.mspx (영어)
http://www.microsoft.com/korea/technet/security/advisory/961051.mspx (한국어)

이 외에도 아래에서 자세한 기술적 정보를 보실 수 있습니다.

보안 대응 센터(MSRC) http://blogs.technet.com/msrc/
악성 코드 방지 센터(MMPC) http://blogs.technet.com/mmpc/
윈도우 취약점 연구팀(SWI)의 블로그 http://blogs.technet.com/swi/

이 외에 패치 발표일과 관련해 추가 공지 사항이 나오면 즉시 추가로 공지해 드리도록 하겠습니다.
보안 패치가 나오기 전에 고객께서 직접 workaround로 취할 수 있는 방법 9가지 정도가 Microsoft Security Advisory에 소개되고 있습니다.

http://www.microsoft.com/technet/security/advisory/961051.mspx 문서에서 [Suggested Actions]의 [Workarounds]를 참고하시기 바랍니다. 특히 이 부분의 내용이 계속 추가되는 중입니다.

--> 불법 사이트나 의심이 되는 사이트 접속은 하지 않는 것이 좋다는 의견 이지만, 이 역시,. 전용 위조 사이트나 페이지를 만드는 것보다는, SQL Injection 으로 정상적인 웹사이트에 악성 코드를 심어 놓은후, 해당 웹사이트에 접속한 클라이언트는 감염될 것 입니다.

2008년 12월 11일 목요일

Winmgmt(WmiPrvSE.exe) & wmiApSrv 의 메모리 문제 on Vista, Windows Server 2008

Windows Server 2008 에서도 동일하게, WMI 를 이용해서 성능 카운터 정보를 얻을수 있습니다. 그런데, 이상하게도 WmiPrvSE.exe 프로세스의 메모리 점유율이 비정상적으로 높은것을 알수 있습니다. (* 같은 코드 기반인 Vista 에서도 동일할듯....)

이러한 문제는, 이전 Windows 2000 에서 발생했던 적이 있었으며,. 추후 패치가 제공 되었습니다. 그리고 그 이후의 Windows 2000 과 Windows Server 2003 에서는 동일한 문제가 발생하지 않고 있습니다.

모니터링 도구를 실행하면 Winmgmt.exe에서 메모리가 누수된다
http://support.microsoft.com/kb/811772

이러한 문제?를 확인할 수 있었던 이유는, 운영중인 서버중 Windows Server 2008 이 몇대가 존재하고 있으며 기존에 Windows 2000, Windows Server 2003 을 모니터링 하기 위한 윈도우 서비스를 Windows Server 2008 에서도 작동 하도록 코드 수정 및 테스트 과정에서 WmiPrvSE.exe 의 비정상적인 메모리 점유를 확인 한것  입니다.

이 포스트에서는 해결책을 제시하지 않으며, 프로세스 내부적인 작동상의 문제로 추정되고 있으므로 추후 Microsoft 의 패치 업데이트 외에는 현재 개선할 방법은 없을것 같습니다.

최초 Windows Management Instrumentation(Winmgmt) 서비스를 시작하고, 성능 카운터 정보외에 다른 클래스에서의 쿼리시에는 시작시 점유했던 메모리 양과 거의 변화를 보지 않습니다.

Name: WmiPrvSE.exe (System 계정)
ExecutablePath: C:\Windows\system32\wbem\wmiprvse.exe
Handle: 6128
HandleCount: 139
OSName: Microsoft® Windows Server® 2008 Standard .....
PageFileUsage(KB): 3344
PeakPageFileUsage(KB): 4116
PeakVirtualSize: 42606592
WorkingSetSize(Byte): 6602752
PeakWorkingSetSize(KB): 6460
ProcessId: 6128
ThreadCount: 5
UserModeTime: 936006

위 값을 보면,. 약 6M 선 이며,
이후 여타 클래스에서 쿼리를 하더라도 보통 7M 내외를 점유 합니다.

이때,. 성능 카운터중, CPU 사용량을 얻기 위해서 다음과 같은 성능 카운터 클래스를 호출하는 vbscript 를 실행하면,.

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PerfFormattedData_PerfOS_Processor", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)

Winmgmt 는 성능 카운터 정보를 얻기 위해서 WMI Performance Adapter(wmiApSrv) 를 호출하고 wmiApSrv 는 요청된 성능 카운터 정보를 반환하게 됩니다.

이후의 WmiPrvSE.exe 메모리 점유를 보면, 다음과 같으며

Name: WmiPrvSE.exe
HandleCount: 585
PageFileUsage(KB): 23668
PeakPageFileUsage(KB): 23668
PeakVirtualSize: 111034368
WorkingSetSize(Byte): 30457856
PeakWorkingSetSize(KB): 29744
ProcessId: 6128
ThreadCount: 13
UserModeTime: 12324079
VirtualSize: 111034368

계속해서 성능 카운터 클래스를 호출하면, 메모리 점유율이 조금씩 조금씩 늘어나게 됩니다. 그러나 더 이상 성능 카운터 클래스를 호출하지 않으면 wmiApSrv 서비스가 종료되고 이후 약간의(1~3M정도) 메모리 를 반환하지만  더 이상은 반환하지 않습니다.

그러나 쿼리가 몇일동안 계속 되는 경우, 메모리 점유는 400~500M 를 점유하게 되며 그때의 경우에는 성능 카운터 관련 클래스 호출에 대해서 성능 카운터 관련 클래스가 없어지는 비정상적인 작동을 하게 됩니다.

2008년 12월 10일 수요일

2008년 12월 마이크로소프트 보안 공지

Visual Basic 6.0 런타임 확장 파일(ActiveX 컨트롤)의 취약점으로 인한 원격 코드 실행 문제점 (932349)
http://www.microsoft.com/korea/technet/security/bulletin/MS08-070.mspx

Microsoft Visual Basic 6.0 런타임 확장 파일용 ActiveX 컨트롤의 비공개적으로 보고된 취약점 5건과 공개적으로 보고된 취약점 1건을 해결합니다. 이 취약점으로 인해 사용자가 특수하게 조작된 콘텐츠가 포함된 웹사이트를 탐색할 경우 원격 코드 실행이 허용될 수 있습니다. 이 보안 업데이트는 ActiveX 컨트롤의 유효성 검사 및 오류 처리를 강화하여 취약점을 해결합니다

GDI의 취약점으로 인한 원격 코드 실행 문제점 (956802)
http://www.microsoft.com/korea/technet/security/bulletin/MS08-071.mspx

GDI에서 발견되어 비공개적으로 보고된 취약점 2건을 해결합니다. 이러한 취약점을 악용하면 사용자가 특수하게 조작된 WMF 이미지 파일을 열 경우 원격 코드 실행이 허용될 수 있습니다. 이 취약점을 악용한 공격자는 영향을 받는 시스템에 대해 완벽히 제어할 수 있습니다. 이 보안 업데이트는 GDI의 파일 크기 매개 변수 유효성 검사 및 정수 계산 방식을 수정하여 오버플로 조건이 발생하지 않도록 하여 취약점을 해결합니다

Windows 검색의 취약점으로 인한 원격 코드 실행 문제점 (959349)
http://www.microsoft.com/korea/technet/security/bulletin/MS08-075.mspx

Windows 검색에서 발견되어 비공개적으로 보고된 취약점 2건을 해결합니다. 이 취약점으로 인해 사용자가 Windows 탐색기에서 특수하게 조작된 검색 조건 저장 파일을 열고 저장하거나 특수하게 조작된 검색 URL을 클릭할 경우 원격 코드 실행이 허용될 수 있습니다. 이 취약점을 악용한 공격자는 영향을 받는 시스템에 대해 완벽히 제어할 수 있습니다. 이 보안 업데이트는 Windows 검색 파일을 저장할 때 Windows 탐색기가 메모리를 해제하는 방식을 수정하고 search-ms 프로토콜을 구문 분석할 때 Windows 탐색기가 매개 변수를 해석하는 방식을 수정하여 취약점을 해결합니다

Windows Media Components의 취약점으로 인한 원격 코드 실행 문제점 (959807)
http://www.microsoft.com/korea/technet/security/bulletin/MS08-076.mspx

Windows Media Player, Windows Media Format Runtime 및 Windows Media Services. 가장 위험한 취약점으로 인해 원격 코드 실행이 허용될 수 있습니다. 사용자가 관리자 권한으로 로그온한 경우, 이 취약점을 악용한 공격자는 영향을 받는 시스템을 완전히 제어할 수 있습니다. 이 보안 업데이트는 Windows Media 인증 응답의 유효성을 검사하는 방식을 변경하여 첫 번째 취약점을 해결합니다. 이 보안 업데이트는 Windows Media 클라이언트가 ISATAP 주소를 사용하여 서버를 외부 서버로 취급하는 방식을 변경하여 취약점을 해결합니다.

Windows File Protection / ID: 64021

이벤트 형식: 정보
이벤트 원본: Windows File Protection
이벤트 범주: 없음
이벤트 ID: 64021
날짜:  2008-12-09
시간:  오전 4:16:16
사용자:  N/A
컴퓨터: WEBSERVER
설명:
시스템 파일 c:\windows\system32\eventvwr.exe을(를) DLL 캐시로 복사할 수 없습니다. 오류 코드: 0x00000000 [작업을 완료했습니다.
].  시스템 안정성 관리에 필요한 파일입니다.

자세한 정보는 http://go.microsoft.com/fwlink/events.asp에 있는 도움말 및 지원 센터를 참조하십시오.

================================================================================

위와 같은 로그 형식이 세벽 4시 15분부터 30분까지 15분동안 10차례정도 생겼더군요

그 후 오전 11시 45분쯤에 웹사이트가 먹통이 되어 버렸습니다.

서버의 게이트웨이로 ping이 안돼서 서비스 재시작도 안돼는 현상이 발생하였고

재부팅 후에 정상적으로 살아났습니다.

D


2019년 10월 MS 취약점 패치 주요 사항

CVE-2019-1166 | Windows NTLM 변조 취약성 https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1166 CVE-2019-1230 | Hype...