Commit Graph

7772 Commits

Author SHA1 Message Date
Ian Benz
14c5d6ee5f Move internal fuzz target naming scheme to g3doc
Change-Id: I400b0a34c670673aba9dd347ec41060b4b23897a
2024-01-26 16:26:25 -08:00
Ian Benz
e19927f4bf Update OEMCrypto fuzzing documentation
- Add details for triaging crashes and writing fuzz tests.
- Move internal documentation not needed by partners to g3doc.
- Remove infrastructure details covered in the design document.

Change-Id: Ib60b2bea954f4371595b0f891434e2274366fdd2
2024-01-26 16:26:23 -08:00
Ian Benz
9a24732f5b Replace entitled key session fuzzer
Enable multiple OEMCrypto calls in arbitrary order, multiple OEMCrypto
sessions, and OEMCrypto_ReassociateEntitledKeySession fuzzing.

Merged from https://widevine-internal-review.googlesource.com/174990
Merged from https://widevine-internal-review.googlesource.com/178330

Change-Id: Ic1ac754c74bf0299c8c9f04ffdbfe82cf9f7569d
2024-01-26 16:25:06 -08:00
Ian Benz
79c809840e Add OEMCrypto_QueryKeyControl fuzzer
Merged from https://widevine-internal-review.googlesource.com/177111
Merged from https://widevine-internal-review.googlesource.com/177117

Change-Id: Iea28155a369f71557a32cc34da7bd328f78e2413
2024-01-26 16:21:38 -08:00
Ian Benz
078682a897 Simplify fuzz tests using LicenseWithUsageEntryFuzz
Merged from https://widevine-internal-review.googlesource.com/175060

Change-Id: I2f245ac998883e2a31cde361e30b36f00681262c
2024-01-26 16:21:25 -08:00
Ian Benz
5c5433a8d8 Update OEMCrypto_LoadLicense corpus for ODK_Packing_ParsedLicense
- Regenerate corpus files.
- Change nonce endianness.

Merged from https://widevine-internal-review.googlesource.com/177010

Change-Id: I5f288a054325097d6ea696cd755fc0557d0eadd1
2024-01-26 16:20:39 -08:00
Vicky Min
28e68a866b Fix crash in wvoec::LicenseRoundTrip::InjectFuzzedResponseData
After the ODK_MAX_NUM_KEYS change, the core response is a pointer to an
array instead of an array. This check should ensure the index of the key
array can always be accessed.

Bug: 286531859
Change-Id: I44604eb977be722ef692de2b61e1f626266a42a7
2024-01-26 16:18:40 -08:00
Ian Benz
ed55c511a3 Add OEMCrypto_GenerateCertificateKeyPair second stage fuzzer
Merged from https://widevine-internal-review.googlesource.com/176771

Change-Id: I8afee6636a44f46a573be5a94f6c12161b57eace
2024-01-26 15:27:29 -08:00
Ian Benz
4aa2bcde49 Fix OEMCrypto_LoadEntitledContentKeys fuzzer
- Pass entitled key session to OEMCrypto_LoadEntitledContentKeys.
- Refresh corpus files.

Merged from https://widevine-internal-review.googlesource.com/176750
Merged from https://widevine-internal-review.googlesource.com/176758

Change-Id: I7edb081933d37897e3b9d83dd00a627b5de64bc9
2024-01-26 15:26:46 -08:00
Ian Benz
3a05989920 Add OEMCrypto_GetDeviceSignedCsrPayload fuzzer
Merged from https://widevine-internal-review.googlesource.com/175050

Change-Id: I28e4b1bc1f82deaf5644d0b2e31d916bf65365d3
2024-01-26 15:23:50 -08:00
Ian Benz
ea43147a08 Add OEMCrypto_GetDeviceInformation fuzzer
Merged from https://widevine-internal-review.googlesource.com/174936

Change-Id: I79bbb8506a13d3142a8b323a7c67d0155973a3f4
2024-01-26 15:22:49 -08:00
Ian Benz
4f29280b3e Remove unused OEMCrypto_GenerateSignature fuzzer
Merged from https://widevine-internal-review.googlesource.com/174772
Merged from https://widevine-internal-review.googlesource.com/176633
Merged from https://widevine-internal-review.googlesource.com/176634
Merged from https://widevine-internal-review.googlesource.com/176670

Change-Id: I36438c102bfe68ff16eab3db301377e858f533c1
2024-01-26 15:21:21 -08:00
Ian Benz
09e6f1c60f Add OEMCrypto_GetKeyHandle fuzzer
Merged from https://widevine-internal-review.googlesource.com/174934

Change-Id: If44423ed51cc2ff10c1b471d39db962a653d8c14
2024-01-26 15:18:06 -08:00
Ian Benz
31a2f09792 Enable OEMCrypto_MoveEntry/ReuseUsageEntry fuzzers
Merged from https://widevine-internal-review.googlesource.com/174893

Change-Id: Ia46e74450bc20302edaf1c5e2bbde957a1d31c95
2024-01-26 15:17:45 -08:00
Ian Benz
8a4160bf8a Add OEMCrypto_GetRandom fuzzer
Merged from https://widevine-internal-review.googlesource.com/174771
Merged from https://widevine-internal-review.googlesource.com/174854

Change-Id: Ia654123bcbe8fa2e7daadaab79c1149ff3cde6b0
2024-01-26 15:17:36 -08:00
Ian Benz
76cf1cd985 Simplify and enable create and remove entitled key session fuzzer
Merged from https://widevine-internal-review.googlesource.com/174851

Change-Id: Iebddae2412c66dbaf5bac042518aea58f9b0c315
2024-01-26 15:17:12 -08:00
Ian Benz
708670c98b Simplify OEMCrypto_InstallOemPrivateKey fuzzer
Merged from https://widevine-internal-review.googlesource.com/174890
Merged from https://widevine-internal-review.googlesource.com/174856

Change-Id: If863e4a8f739ca5645311d7f7b08e6aec4cc7aca
2024-01-26 15:16:55 -08:00
Ian Benz
75d4778531 Fix spelling mistake
Merged from https://widevine-internal-review.googlesource.com/172590
Merged from https://widevine-internal-review.googlesource.com/172610
Merged from https://widevine-internal-review.googlesource.com/172650
Merged from https://widevine-internal-review.googlesource.com/174011

Change-Id: I88cb66704509010fa2e0bee5d0f580173db6fdcd
2024-01-26 15:16:55 -08:00
Ian Benz
a66143bec4 Fix OEMCrypto_GenerateRSASignature fuzzer
Ensure OEMCrypto is in the correct state before invoking
OEMCrypto_GenerateRSASignature.

Merged from https://widevine-internal-review.googlesource.com/168857
Merged from https://widevine-internal-review.googlesource.com/172171
Merged from https://widevine-internal-review.googlesource.com/172410
Merged from https://widevine-internal-review.googlesource.com/173130

Change-Id: I774f59af8044939c5a9618de348f2120a834e043
2024-01-26 15:16:55 -08:00
Ian Benz
57b391c8b9 Fix bugs impacting fuzzing coverage
- Update ConvertDataToValidEnum to not use FuzzedDataProvider since it
  causes unexpected parsing results.
- Add OEMCryptoLicenseAPIFuzz::LoadLicenseWithGenericCryptoKeys so that
  generic crypto fuzz tests can load appropriate keys.
- Remove custom mutator from oemcrypto_generic_verify_fuzz because it
  provides minimal additional coverage.
- Refresh affected corpus files.

Merged from https://widevine-internal-review.googlesource.com/168557
Merged from https://widevine-internal-review.googlesource.com/171191
Merged from https://widevine-internal-review.googlesource.com/172170
Merged from https://widevine-internal-review.googlesource.com/172250

Change-Id: Ie676a36cbf4c12bdda9566fad3590a7b69168d9c
2024-01-26 15:15:36 -08:00
Ian Benz
55ef762c08 Improve fuzzers with FuzzedDataProvider inputs
- Remove redundant input size checks handled by FuzzedDataProvider.
- Allow passing null when buffer size is used as an in/out parameter.

Merged from https://widevine-internal-review.googlesource.com/168637
Merged from https://widevine-internal-review.googlesource.com/171190
Merged from https://widevine-internal-review.googlesource.com/172090
Merged from https://widevine-internal-review.googlesource.com/172251

Change-Id: Ib5779ab969f646f306088b3d75d513e1f07a3886
2024-01-26 13:40:22 -08:00
Ian Benz
53fe55cb72 Clean up fuzz helper classes
- Remove OEMCrypto state changes hidden in constructors and destructors.
- Use composition instead of inheritance to structure classes.
- Avoid calling non-trivial destructors for objects with static
  lifetime.

Merged from https://widevine-internal-review.googlesource.com/168497
Merged from https://widevine-internal-review.googlesource.com/171170
Merged from https://widevine-internal-review.googlesource.com/171171
Merged from https://widevine-internal-review.googlesource.com/171870

Change-Id: I20476a7b1132d11f011b8650ec01e3c2dc3fc0e8
2024-01-26 13:40:22 -08:00
Ian Benz
af070601b0 Add OEMCrypto_SetDecryptHash/GetHashErrorCode fuzzer
Merged from https://widevine-internal-review.googlesource.com/169021
Merged from https://widevine-internal-review.googlesource.com/170030

Change-Id: I209d280b0478620197fc514966af3c93fc2272aa
2024-01-26 13:40:20 -08:00
Ian Benz
7b592f1990 Add OEMCrypto_GenerateCertificateKeyPair fuzzer
Merged from https://widevine-internal-review.googlesource.com/168817
Merged from https://widevine-internal-review.googlesource.com/169915

Change-Id: If4d3f4cd2b028765072a14c74781e9750dc3e38b
2024-01-26 13:39:28 -08:00
Ian Benz
c0c349cd28 Fix OEMCrypto_LoadUsageEntry fuzzer
- Ensure OEMCrypto is in the correct state before invoking
  OEMCrypto_LoadUsageEntry.
- Do not use FuzzedDataProvider to parse usage_entry_number since it
  causes unexpected parsing results.

Merged from https://widevine-internal-review.googlesource.com/168859
Merged from https://widevine-internal-review.googlesource.com/169293
Merged from https://widevine-internal-review.googlesource.com/169970
Merged from https://widevine-internal-review.googlesource.com/170011

Change-Id: I6c3ddfe457facef9c9d0fc524fc3cf76aba90f64
2024-01-26 13:36:26 -08:00
Ian Benz
fb1f3af60f Add OEMCrypto_GetBootCertificateChain fuzzer
Merged from https://widevine-internal-review.googlesource.com/168818
Merged from https://widevine-internal-review.googlesource.com/169890

Change-Id: I2530555a1cf94726c82511504e480b843b244c7b
2024-01-26 13:36:21 -08:00
Ian Benz
8a9b3c5c75 Fix OEMCrypto_LoadEntitledContentKeys fuzzer
- Create an entitled key session for OEMCrypto v17 and later.
- Refresh corpus files.

Merged from https://widevine-internal-review.googlesource.com/168897
Merged from https://widevine-internal-review.googlesource.com/169292

Change-Id: Ied9fce445a837e417077381de71d2834f385f120
2024-01-26 12:19:08 -08:00
Ling-Yu Lee
0919fb7ea6 Merge "Add GMScore into allow list to invoke signRSA API." into main 2024-01-26 00:18:19 +00:00
Ling-Yu Lee
3a87988181 Add GMScore into allow list to invoke signRSA API.
Purpose: Moving cast auth into GMScore.
Deisign doc: go/gtv-cast-auth

Bug: b/318467776
Test: Manual
Change-Id: Ic18188dfa61df0d64c1b19fddc99abe851f8b724
2024-01-26 00:17:03 +00:00
Treehugger Robot
665781cba3 Merge "widevine fuzzer: remove relative paths" into main 2024-01-25 00:28:07 +00:00
Treehugger Robot
47f5d9906c Merge "Updated crypto_session_fuzzer" into main 2024-01-22 16:30:03 +00:00
Treehugger Robot
27b5316c39 Merge "Updated cdm_engine_fuzzer" into main 2024-01-22 16:21:23 +00:00
Treehugger Robot
da299dfd47 Merge "Updated system_id_extractor_fuzzer" into main 2024-01-22 05:24:56 +00:00
Treehugger Robot
f6dcfb08e1 Merge "Updated cdm_license_fuzzer" into main 2024-01-16 04:53:09 +00:00
Steven Moreland
ec6cb73143 widevine fuzzer: remove relative paths
breaks fuzzing packaging

Bug: 300993391
Test: run fuzzer, check lsof
Change-Id: Ibfbfcff377ffb3a15197de4c80cdd3d4e27c8b0a
2023-12-28 01:07:58 +00:00
Kyle Alexander
163db3777f Remove unnecessary test dependency on libmedia_omx
Test: ./build_and_run_all_unit_tests.sh

Bug: 312063280
Change-Id: Id8c8c4d3d778599c4c418b667497ff7f50f8152e
2023-12-21 20:55:58 +00:00
Treehugger Robot
b83113f891 Merge "Updated content_decryption_fuzzer" into main 2023-12-13 22:53:00 +00:00
Onkar Shinde
2415894e2f Updated cdm_license_fuzzer
Implemented google c++ code style changes for cdm_license_fuzzer

exec/s: 91
Test: ./cdm_license_fuzzer
Bug: 312374669

Change-Id: Iac18772277cddad8ca182e60fc426721717d38d4
2023-12-12 12:19:19 +00:00
Onkar Shinde
c39f453c59 Updated cdm_engine_fuzzer
Implemented google c++ code style changes for cdm_engine_fuzzer

exec/s: 323
Test: ./cdm_engine_fuzzer
Bug: 312374669

Change-Id: Iddaeab285d591d77f16c10e62a88b1af3f8af7c5
2023-12-12 08:46:03 +00:00
Onkar Shinde
982bec196b Updated crypto_session_fuzzer
Implemented google c++ code style changes for crypto_session_fuzzer

exec/s: 136
Test: ./crypto_session_fuzzer
Bug: 312374669

Change-Id: Ie490914858a35dfe0f8bfdd4a40f9be65d41b6bd
2023-12-12 08:34:08 +00:00
Treehugger Robot
d866ba45aa Merge "Updated service_certificate_fuzzer" into main 2023-12-11 20:42:34 +00:00
Treehugger Robot
f99bdc79c7 Merge "Updated privacy_crypto_fuzzer" into main 2023-12-11 17:13:03 +00:00
Treehugger Robot
9243037fca Merge "Updated policy_timers_fuzzer" into main 2023-12-11 17:13:03 +00:00
Onkar Shinde
44e768678b Updated privacy_crypto_fuzzer
Implemented google c++ code style changes for privacy_crypto_fuzzer

exec/s: 3456
Test: ./privacy_crypto_fuzzer
Bug: 312374669

Change-Id: I1422956e873130e9f10b6b5612ea12397fbe3b08
2023-12-08 11:37:33 +00:00
Onkar Shinde
c010396125 Updated policy_timers_fuzzer
Implemented google c++ code style changes for policy_timers_fuzzer

exec/s: 15780
Test: ./policy_timers_fuzzer
Bug: 312374669

Change-Id: I0868deac9ec55549db0da3eaeee23daee9516c0f
2023-12-08 10:31:38 +00:00
Onkar Shinde
363447d00c Updated buffer_reader_fuzzer
Implemented google c++ code style changes for buffer_reader_fuzzer

exec/s: 3649
Test: ./buffer_reader_fuzzer
Bug: 312374669

Change-Id: I53bd247f6c95202d7a5e86115aa060c61821d49c
2023-12-08 10:26:48 +00:00
Onkar Shinde
98fd5501b3 Updated service_certificate_fuzzer
Implemented google c++ code style changes for service_certificate_fuzzer

exec/s: 4511
Test: ./service_certificate_fuzzer
Bug: 312374669

Change-Id: I5858fa10a84508d1cfdfce4d0933cbdb97a0ab75
2023-12-05 06:30:22 +00:00
Onkar Shinde
214fec8bb4 Updated content_decryption_fuzzer
Implemented google c++ code style changes for content_decryption_fuzzer

exec/s: 37
Test: ./content_decryption_fuzzer
Bug: 312374669

Change-Id: Ic9d6e59716811b3d90bfbe96b7d59674bf53277c
2023-12-05 06:25:47 +00:00
Onkar Shinde
8bfb8bd34d Updated system_id_extractor_fuzzer
Implemented google c++ code style changes for system_id_extractor_fuzzer

exec/s: 73
Test: ./system_id_extractor_fuzzer
Bug: 312374669

Change-Id: I9ffb9f1de99a3e37fa456b357946292f16af5dc3
2023-12-05 06:07:41 +00:00
Treehugger Robot
2b3de00a36 Merge "Updated certificate_provisioning_fuzzer" into main 2023-11-29 18:08:13 +00:00