もうおなじみですが、Windows Server 2003 以降ではACL で保護されてます。実体は registry です。
Windows Server 2003 のイベント ログのセキュリティをローカルまたはグループ ポリシーで設定する方法
では、Windows XP 以前はどうなの?って話になりますが、その解説は下記。
Event Logging Security
| Log | 
Account | 
Read | 
Write | 
Clear | 
| Application | 
Administrators (system) | 
X | 
X | 
X | 
 | 
Administrators (domain) | 
X | 
X | 
X | 
 | 
LocalSystem | 
X | 
X | 
X | 
 | 
Interactive user | 
X | 
X | 
 | 
| System | 
Administrators (system) | 
X | 
X | 
X | 
 | 
Administrators (domain) | 
X | 
 | 
X | 
 | 
LocalSystem | 
X | 
X | 
X | 
 | 
Interactive user | 
X | 
 | 
 | 
| Custom | 
Administrators (system) | 
X | 
X | 
X | 
 | 
Administrators (domain) | 
X | 
X | 
X | 
 | 
LocalSystem | 
X | 
X | 
X | 
 | 
Interactive user | 
X | 
X | 
 | 
あれ、security は?って思った人がいるかもしれませんけど、security log に関してはそれ専用の特権 (SE_SECURITY_NAME  privilege) があるのでそっちで制御されてます。Reference にちゃんと載っていますね。
これ見たところ、内部で他の object と同様に ACL で制御しているのは確実っぽいですね。ただし、その実体は hard coding でもされているんじゃないかと。
Windows 2003 以降は ACL を編集できるようになったんですが、これを扱う API がない。内部的には絶対あるはずなんですが、どうやら公開されていない模様。なんでだろ?