Changeset 286778 in webkit


Ignore:
Timestamp:
Dec 9, 2021 7:07:32 AM (2 years ago)
Author:
pvollan@apple.com
Message:

[macOS][WP] Block access to unused system calls
https://bugs.webkit.org/show_bug.cgi?id=234003

Reviewed by Brent Fulgham.

Based on telemetry, block access to unused system calls in the WebContent process on macOS.

  • WebProcess/com.apple.WebProcess.sb.in:
Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r286777 r286778  
     12021-12-09  Per Arne Vollan  <pvollan@apple.com>
     2
     3        [macOS][WP] Block access to unused system calls
     4        https://bugs.webkit.org/show_bug.cgi?id=234003
     5
     6        Reviewed by Brent Fulgham.
     7
     8        Based on telemetry, block access to unused system calls in the WebContent process on macOS.
     9
     10        * WebProcess/com.apple.WebProcess.sb.in:
     11
    1122021-12-09  Commit Queue  <commit-queue@webkit.org>
    213
  • trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

    r286465 r286778  
    18971897        SYS___disable_threadsignal
    18981898        SYS___mac_syscall
     1899        SYS___pthread_sigmask
     1900        SYS___semwait_signal
    18991901        SYS_access
    19001902        SYS_bsdthread_create
     
    19071909        SYS_csrctl
    19081910        SYS_exit
     1911        SYS_faccessat ;; <rdar://problem/56690456>
    19091912        SYS_fcntl
    19101913        SYS_fcntl_nocancel
     
    19391942        SYS_kevent_id
    19401943        SYS_kevent_qos
     1944        SYS_kqueue_workloop_ctl ;; <rdar://problem/50999499>
     1945        SYS_listxattr
    19411946        SYS_lseek
    19421947        SYS_lstat64
     
    19601965        SYS_psynch_mutexdrop
    19611966        SYS_psynch_mutexwait
     1967        SYS_psynch_rw_unlock
     1968        SYS_psynch_rw_wrlock
    19621969        SYS_read
    19631970        SYS_read_nocancel
    19641971        SYS_readlink
    19651972        SYS_rename
     1973        SYS_sendto
     1974        SYS_sigprocmask
    19661975        SYS_stat64
    19671976        SYS_statfs64
     1977        SYS_socket
    19681978        SYS_sysctlbyname
    19691979        SYS_thread_selfid
    19701980        SYS_ulock_wait
    19711981        SYS_ulock_wake
     1982        SYS_umask
     1983        SYS_work_interval_ctl
    19721984        SYS_workq_kernreturn
    19731985        SYS_write_nocancel
     
    19761988(define (syscall-unix-intel)
    19771989    (syscall-number
    1978         SYS___pthread_sigmask
    1979         SYS___semwait_signal
    1980         SYS_faccessat ;; <rdar://problem/56690456>
    1981         SYS_kqueue_workloop_ctl ;; <rdar://problem/50999499>
    1982         SYS_listxattr
    1983         SYS_psynch_rw_unlock
    1984         SYS_psynch_rw_wrlock
    1985         SYS_sendto
    1986         SYS_sigaltstack
    1987         SYS_sigprocmask
    1988         SYS_socket
    1989         SYS_umask
    1990         SYS_work_interval_ctl))
     1990        SYS_sigaltstack))
    19911991
    19921992(define (syscall-unix-apple-silicon)
     
    19951995        SYS_mremap_encrypted))
    19961996
    1997 (define (syscalls-possibly-unused)
     1997(define (syscalls-rarely-used)
    19981998    (syscall-number
    19991999        SYS___pthread_kill
    2000         SYS___pthread_markcancel
    20012000        SYS___semwait_signal_nocancel
    2002         SYS_abort_with_payload
    20032001        SYS_change_fdguard_np
    20042002        SYS_chmod
    2005         SYS_chmod_extended
    20062003        SYS_connect
    2007         SYS_connect_nocancel
    2008         SYS_connectx
    2009         SYS_dup
    20102004        SYS_fchmod
    2011         SYS_fgetattrlist ;; <rdar://problem/50931110>
    2012         SYS_fileport_makeport
    2013         SYS_fstat64_extended ;; <rdar://problem/61310019>
    20142005        SYS_fsync
    20152006        SYS_getegid
    2016         SYS_getpeername
    20172007        SYS_getpriority ;; rdar://81727094. Required for CoreAudio AudioOutputUnitStart call. Remove when GPU process is enabled by default.
    2018         SYS_getsockopt
    2019         SYS_gettid ;; Needed for base system, see <rdar://problem/48651255>
    20202008        SYS_guarded_close_np
    20212009        SYS_guarded_open_np
    20222010        SYS_guarded_pwrite_np
    2023         SYS_guarded_write_np
    20242011        SYS_kdebug_typefilter
    2025         SYS_kevent
    2026         SYS_kqueue ;; <rdar://problem/49609201>
    2027         SYS_lstat64_extended
    2028         SYS_lstat_extended
    2029         SYS_memorystatus_control ;; Needed for memory measurement infrastructure, see <rdar://problem/48647263>
    2030         SYS_mkdirat
    20312012        SYS_mlock
    20322013        SYS_munlock
    20332014        SYS_necp_client_action
    20342015        SYS_necp_open
    2035         SYS_open_dprotected_np ;; <rdar://problem/74473824>
    20362016        SYS_openat_nocancel
    2037         SYS_pipe
    20382017        SYS_proc_rlimit_control
    2039         SYS_process_policy
    2040         SYS_psynch_rw_rdlock ;; <rdar://problem/49060359>
    2041         SYS_pwrite
    2042         SYS_quotactl ;; <rdar://problem/49945031>
    2043         SYS_recvfrom
    2044         SYS_recvfrom_nocancel
    2045         SYS_rmdir
    2046         SYS_select
    2047         SYS_select_nocancel
    2048         SYS_sem_post
    2049         SYS_sem_wait
    2050         SYS_sendmsg_nocancel
    2051         SYS_sendto_nocancel
    2052 #if __MAC_OS_X_VERSION_MIN_REQUIRED < 120000
    2053         SYS_setattrlist ;; rdar://problem/74162777
    2054 #endif
    2055         SYS_setpriority
    2056         SYS_setrlimit
    2057         SYS_setsockopt
    20582018        SYS_shm_open
    2059         SYS_shutdown
    20602019        SYS_sigaction
    2061         SYS_sigreturn
    2062         SYS_socketpair
    2063         SYS_stat64_extended ;; <rdar://problem/50473330>
    20642020        SYS_sysctl
    2065         SYS_terminate_with_payload ;; <rdar://problem/50026580>
    2066         SYS_thread_selfusage
    2067 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 110000
    2068         SYS_ulock_wait2 ;; <rdar://problem/58743778>
    2069 #endif
    20702021        SYS_unlink
    20712022        SYS_write))
     
    20792030        (begin
    20802031            (allow syscall-unix
    2081                 (syscall-unix-apple-silicon))
    2082             (allow syscall-unix
    2083 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
    2084                 (with telemetry-backtrace)
    2085 #endif
    2086                 (syscall-unix-intel)))
    2087 
     2032                (syscall-unix-apple-silicon)))
    20882033        (begin
    20892034            (allow syscall-unix
     
    20942039        (with telemetry-backtrace)
    20952040#endif
    2096         (syscalls-possibly-unused))
     2041        (syscalls-rarely-used))
    20972042
    20982043#if __MAC_OS_X_VERSION_MIN_REQUIRED > 101500
     
    22212166        MSC__kernelrpc_mach_port_destruct_trap
    22222167        MSC__kernelrpc_mach_port_extract_member_trap
     2168        MSC__kernelrpc_mach_port_get_attributes_trap
    22232169        MSC__kernelrpc_mach_port_guard_trap
    22242170        MSC__kernelrpc_mach_port_insert_member_trap
     
    22452191        MSC_pid_for_task
    22462192        MSC_semaphore_signal_trap
     2193        MSC_semaphore_timedwait_trap
    22472194        MSC_semaphore_wait_trap
     2195        MSC_swtch_pri
    22482196        MSC_syscall_thread_switch
    22492197        MSC_task_name_for_pid
    2250         MSC_thread_get_special_reply_port))
    2251 
    2252 (define (syscall-mach-intel)
    2253     (machtrap-number
    2254         MSC_semaphore_timedwait_trap
     2198        MSC_thread_get_special_reply_port
    22552199        MSC_thread_self_trap))
    2256 
    2257 (define (syscall-mach-apple-silicon)
    2258     (machtrap-number
    2259         MSC__kernelrpc_mach_port_get_attributes_trap
    2260         MSC_swtch_pri))
    22612200
    22622201(when (and (equal? (param "ENABLE_SANDBOX_MESSAGE_FILTER") "YES") (defined? 'syscall-mach))
    22632202    (allow syscall-mach
    22642203        (syscall-mach-common))
    2265 
    2266     (if (equal? (param "CPU") "arm64")
    2267         (begin
    2268             (allow syscall-mach
    2269                 (syscall-mach-apple-silicon))
    2270             (allow syscall-mach
    2271                 (with telemetry)
    2272                 (syscall-mach-intel)))
    2273         (begin
    2274             (allow syscall-mach
    2275                 (syscall-mach-intel))
    2276             (allow syscall-mach
    2277                 (with telemetry)
    2278                 (syscall-mach-apple-silicon))))
    2279 
    2280     (allow syscall-mach
    2281 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
    2282         (with telemetry-backtrace)
    2283 #endif
    2284         (machtrap-number
    2285             MSC_mach_msg_overwrite_trap)))
    22862204
    22872205    (when (defined? 'MSC_mach_msg2_trap)
Note: See TracChangeset for help on using the changeset viewer.